c#Lambda表达式字符串列表
我对如何使用Lambda表达式在列表中查找指定文本感到困惑 例如,我有一个列表c#Lambda表达式字符串列表,c#,lambda,C#,Lambda,我对如何使用Lambda表达式在列表中查找指定文本感到困惑 例如,我有一个列表 List<string> MyList = new List<string> {"TEXT","NOTEXT","test","notest"}; 只需检查小写值是否与当前值匹配,与大写值相同 var lower = MyList.Where(a=>a == a.ToLowerInvariant()); var upper = MyList.Where(a=>a == a.ToU
List<string> MyList = new List<string> {"TEXT","NOTEXT","test","notest"};
只需检查小写值是否与当前值匹配,与大写值相同
var lower = MyList.Where(a=>a == a.ToLowerInvariant());
var upper = MyList.Where(a=>a == a.ToUpperInvariant());
如果要使用特定于区域性的版本进行检查,则只需使用特定于区域性的方法即可
var lower = MyList.Where(a=>a == a.ToLower());
var upper = MyList.Where(a=>a == a.ToUpper());
只需检查小写值是否与当前值匹配,与大写值相同
var lower = MyList.Where(a=>a == a.ToLowerInvariant());
var upper = MyList.Where(a=>a == a.ToUpperInvariant());
如果要使用特定于区域性的版本进行检查,则只需使用特定于区域性的方法即可
var lower = MyList.Where(a=>a == a.ToLower());
var upper = MyList.Where(a=>a == a.ToUpper());
ToLower
不是一个属性,而是一个方法,它不进行测试(即不返回bool
),而是返回一个转换后的字符串
这意味着,因为它是一个方法,所以必须在它后面加括号(.ToLower()
)
为了做一个测试,你必须把结果和一些东西进行比较。在本例中,使用原始字符串,以查看它是否等于小写字符串
var SList = MyList.FindAll(item => item == item.ToLower());
ToLower
的准确工作取决于当前的UI区域性。有些语言有转换为小写或大写的特殊规则。如果您希望具有独立于区域性的行为,请改用ToLowerInvariant
或ToUpperInvariant
。ToLower
不是一个属性,而是一个方法,它不进行测试(即它不返回bool
),而是返回一个转换后的字符串
这意味着,因为它是一个方法,所以必须在它后面加括号(.ToLower()
)
为了做一个测试,你必须把结果和一些东西进行比较。在本例中,使用原始字符串,以查看它是否等于小写字符串
var SList = MyList.FindAll(item => item == item.ToLower());
ToLower
的准确工作取决于当前的UI区域性。有些语言有转换为小写或大写的特殊规则。如果您喜欢独立于文化的行为,请使用ToLowerInvariant
或ToUpperInvariant
。@bakapanda没问题,如果这解决了您的问题,请标记为答案issue@bakapanda没问题,如果这解决了您的问题,请标记为答案