使用LINQ如何将s.Password
的第一个字母转换为小写
if (s.Password == password){}
我希望s.Password
的第一个字符是小写的,I tried:
if( s.Password[0].toString().toLower() + s.Password(1) ) == password ){}
如果你想根据一个项目在LINQ中的位置做出决定,你可以使用Select
,它接受一个Func
和两个参数——项目和它的索引:
var pwd = "BadPassword";
var res = new string(
pwd.Select((c, i) => i==0 ? char.ToLower(c) : c).ToArray()
); // produces badPassword
上面的函子将i==0
处的初始字符转换为小写,而保留所有其他字符。
演示
注意: LINQ在此转换中不是必需的。您可以在一行中使用Substring
:
var res = char.ToLower(pwd[0]) + pwd.Substring(1);
演示2。