C# 使用linq搜索我的列表帮助
我有一个C# 使用linq搜索我的列表帮助,c#,linq,C#,Linq,我有一个 list<fruitObj> Fruit FruitName, FruitColor banana, yellow orange, orange cherry, red List<FruitObj> test = new List<FruitObj>(); 列表 果 水果名 香蕉,黄色 橙色,橙色 樱桃红 列表测试=新列表(); 是否有一种内联方式来搜索列表以BAN开头,如果它确实包含
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"));
请注意,这是区分大小写的,要匹配“banana”,您可以执行以下操作:
bool hasBAN = test.Any( x => x.FruitName.StartsWith("BAN", StringComparison.InvariantCultureIgnoreCase));
这不区分大小写:
bool hasAnyBAN = test.Any(x=>x.StartsWith("BAN", StringCoparison.InvariantCultureIgnoreCase));
这里有很多假设 如果水果对象的.Name属性可以是您列出的名称之一,则可以执行以下操作:
list.Any(f => f.Name.StartsWith("BAN"));
假设Name是一个包含水果名称的属性。您能发布水果类的源代码吗?
var hasBAN = test.Any(fruit => fruit.FruitName.ToUpper().StartsWith("BAN"));
bool startsWithBan = test.Any(f =>
f.Name.StartsWith("ban", StringComparison.InvariantCultureIgnoreCase));
var hasBAN = test.Any(fruit => fruit.FruitName.ToUpper().StartsWith("BAN"));