当前位置: 首页 > 编程语言 > C#

如何在C#usingSystem中使用ExistinList分享

时间:2023-04-10 20:23:12 C#

;使用System.Collections.Generic;publicclassExample{publicstaticvoidMain(){恐龙列表=newList();恐龙.Add("美颌龙");dinosaurs.Add("阿马加龙");("偷蛋龙");恐龙.Add("迅猛龙");恐龙.Add("恐爪龙");dinosaurs.Add("双脊龙");恐龙.Add("似鸡龙");dinosaurs.Add("三角龙");控制台.WriteLine();foreach(恐龙中的字符串恐龙){Console.WriteLine(恐龙);}Console.WriteLine("nTrueForAll(EndsWithSaurus):{0}",dinosaurs.TrueForAll(EndsWithSaurus));Console.WriteLine("nFind(EndsWithSaurus):{0}",dinosaurs.Find(EndsWithSaurus));Console.WriteLine("nFindLast(EndsWithSaurus):{0}",dinosaurs.FindLast(EndsWithSaurus));Console.WriteLine("nFindAll(EndsWithSaurus)):");列表子列表=恐龙。FindAll(EndsWithSaurus);foreach(子列表中的字符串恐龙){Cconsole.WriteLine(恐龙);}Console.WriteLine("n{0}个元素被RemoveAll(EndsWithSaurus)移除。",dinosaurs.RemoveAll(EndsWithSaurus));Console.WriteLine("nList现在包含:");foreach(恐龙中的字符串恐龙){Console.WriteLine(恐龙);}Console.WriteLine("nExists(EndsWithSaurus):{0}",dinosaurs.Exists(EndsWithSaurus));}//如果字符串以“saurus”结尾,则搜索谓词返回true。privatestaticboolEndsWithSaurus(Strings){returns.ToLower().EndsWith("saurus");是否可以用lambda表达式替换EndsWithSaurus函数?谢谢您的意见!这是一个工作代码:if(dinosaurs.Any(e=>e.EndsWith("saurus")))Console.WriteLine("saurusexists");if(dinosaurs.Exists(e=>e.EndsWith("saurus")))Console.WriteLine("saurusexists");试试这个:if(dinosaurs.Exists(e=>e.EndsWith("saurus")))Console.WriteLine("saurusexists");Any()答案也可以正常工作不同之处在于Exists()方法来自List本身,而Any()只是Linq扩展方法之一(并且需要使用System.Linq)使用Any:if(dinosaurs.Any(e=>e.EndsWith("saurus")))Console.WriteLine("saurus存在");您可以通过更改lambda来使用List.Exists():if(dinosaurs.Exists(e=>e.EndsWith("saurus"))//==true是隐含的更可移植(即可以与任何可枚举一起使用,而不仅仅是List)以上是C#学习教程:HowtouseExistinListinC#分享的所有内容,如果对你有用,你需要想了解更多C#学习教程,希望大家多多关注,本文整理自网络,不代表立场,如涉及侵权,请点击右方联系管理员删除。如有转载请注明出处: