我有一个字符串[],其值为{“data1”,“data2”,“data3”}。查找通用列表中是否有可用的元素
和我有一个包含
数据2
DATA4
两个记录
一个GenericList我想要得到的共同DATAS是无济于事字符串[]和genericList
我有一个字符串[],其值为{“data1”,“data2”,“data3”}。查找通用列表中是否有可用的元素
和我有一个包含
数据2
DATA4
两个记录
一个GenericList我想要得到的共同DATAS是无济于事字符串[]和genericList
您是否试过类似
string[] s = {"data1", "data2", "data3"};
List<string> list = new List<string> { "data2", "data3" };
var commonList = list.Intersect(s);
假设这是一个List<string>
和你使用.NET 3.5或更高版本,可以使用Intersect
方法从LINQ到对象:
var intersection = stringArray.Intersect(stringList);
注意,这将返回懒惰评估IEnumerable<string>
。如果你需要在一个数组或列表,调用相关的方法:
var intersectionArray = stringArray.Intersect(stringList).ToArray();
// or
var intersectionList = stringArray.Intersect(stringList).ToList();
另外请注意,这是一个设置操作 - 这样的结果将不包含任何重复,即使是一个重复原始集合中的特定元素。
看看在Intersect
扩展方法here
string[] c1 = { "data1", "data2", "data3" };
string[] c2 = { "data2", "data4" };
IEnumerable<string> both = c1.Intersect(c2);
foreach (string s in both) Console.WriteLine(s);
将打印数据2。
列表的类型及其内容究竟是什么? – 2010-12-17 07:35:23
它是一个'列表'? –
Ani
2010-12-17 07:37:23