c# – 列表中的包含和存在之间有什么不同?

我想知道List< T>中的包含和存在之间有什么不同? ?

它们都可以确定元素是否在List< T>中.

但他们之间有什么不同?

// Create a list of parts.
List<Part> parts = new List<Part>();

// Add parts to the list.
parts.Add(new Part() { PartName = "crank arm", PartId = 1234 });
parts.Add(new Part() { PartName = "chain ring", PartId = 1334 });
parts.Add(new Part() { PartName = "regular seat", PartId = 1434 });
parts.Add(new Part() { PartName = "banana seat", PartId = 1444 });
parts.Add(new Part() { PartName = "cassette", PartId = 1534 });
parts.Add(new Part() { PartName = "shift lever", PartId = 1634 }); ;

// of the Part class, which checks the PartId for equality.
Console.WriteLine("\nContains: Part with Id=1444: {0}",
parts.Contains(new Part { PartId = 1444, PartName = "" }));

// Check if an item with Id 1444 exists.
Console.WriteLine("\nExists: Part with Id=1444: {0}",
                  parts.Exists(x => x.PartId == 1444)); 

// result
// Contains: Part with Id=1444: True 
// Exists: Part with Id=1444: True 
最佳答案
存在和包含方法看起来相似,但有不同的目的.

存在:确定List是否包含与指定谓词定义的条件匹配的元素.

包含:确定元素是否在List中

List< T> .Exists()检查列表中的任何项是否满足条件(指定为谓词). “谓词”只是一个接受待测项目并返回true(匹配)或false的方法.

转载注明原文:c# – 列表中的包含和存在之间有什么不同? - 代码日志