使用 LINQ 搜索我的列表帮助
本文关键字:列表 帮助 我的 搜索 LINQ 使用 | 更新日期: 2023-09-27 17:56:17
我有一个
list<fruitObj>
Fruit
FruitName, FruitColor
banana, yellow
orange, orange
cherry, red
List<FruitObj> test = new List<FruitObj>();
是否有一种内联方式可以在列表中搜索以 BAN 开头,如果它确实包含字符串,则返回 true?
bool hasBAN = test.Any( x => x.FruitName.StartsWith("BAN"));
请注意,这是区分大小写的,为了匹配"香蕉",您可以这样做:
bool hasBAN = test.Any( x => x.FruitName.StartsWith("BAN", StringComparison.InvariantCultureIgnoreCase));
这
不区分大小写:
bool hasAnyBAN = test.Any(x=>x.StartsWith("BAN", StringCoparison.InvariantCultureIgnoreCase));
bool startsWithBan = test.Any(f =>
f.Name.StartsWith("ban", StringComparison.InvariantCultureIgnoreCase));
假设名称是包含水果名称的属性。
这里有很多假设...
如果一个水果 Obj 有一个 .可以是你列出的名称之一的 Name 属性,你可以这样做:
list.Any(f => f.Name.StartsWith("BAN"));
test.Where(fo => fo.FruitName.ToUpper().StartsWith("BAN"));
if (test.Count(fo => fo.FruitName.ToUpper().StartsWith("BAN")) > 0)
{
//...
}
var hasBAN = test.Any(fruit => fruit.FruitName.ToUpper().StartsWith("BAN"));