我有一个班级:
public class MyClass
{
public string Name{set;get;}
public string Value {set;get;}
public int ParentId {set;get;}
}
My Class Value属性可以包含以下值:" 1"," MyValue"," 2" ....等等。
我有一个通用列表List<MyClass>
,我必须使用LAMBDA或LINQ查看列表以获取非数字值,即&#34;我的值&#34;。意味着我必须获取具有&#34; My Value&#34;的MyClass实例。在其Value属性中。
非常感谢任何建议。
答案 0 :(得分:1)
听起来你想要这样的东西:
var nonInteger = list.Where(x =>
{
int ignored;
return !int.TryParse(x.Value, out ignored);
});
或者,将TryParse
调用包装在一个单独的方法中,甚至可以是扩展方法:
public static bool CanParseToInt32(this string value)
{
int ignored;
return int.TryParse(value, out ignored);
}
然后:
var nonInteger = list.Where(x => !x.Value.CanParseToInt32());