我正在尝试在我的List
中找到一个元素,其中属性fileName
与我给它的变量匹配。
var tenant = from c in Program.customerList
where c.fileName == name
select c;
Console.WriteLine("found = " + tenant.Count());
返回0。
我知道我的列表中包含我想要检索的数据。我做错了什么?
我的列表中没有我要检索的数据。当我填充customerList
时,从双字符串转换为字符串时,我失去了一些精度,这导致我的比较失败。
我想知道我的查询是否有任何问题,但没有任何问题。
答案 0 :(得分:4)
如果您不需要完全匹配而不是equality
,则可能需要string.Contains
。
var tenant = from c in Program.customerList where c.fileName.Contains(name) select c;
此方法执行序数(区分大小写和 文化不敏感)比较。搜索从第一个开始 这个字符串的字符位置,并持续到最后一个 字符,msdn
答案 1 :(得分:0)
试试这个
var tenant = from c in Program.customerList where c.fileName.ToLower() == name.ToLower() select c;
答案 2 :(得分:-4)
var tenant = Program.cusomerList.Where(x => x.fileName == name)
tenant.Count()必须返回值> 0,如果Program.cusomerList具有fileName == name
的对象