2010-12-17 69 views
0

我有一个字符串[],其值为{“data1”,“data2”,“data3”}。查找通用列表中是否有可用的元素

和我有一个包含

数据2

DATA4

两个记录

一个GenericList我想要得到的共同DATAS是无济于事字符串[]和genericList

+1

列表的类型及其内容究竟是什么? – 2010-12-17 07:35:23

+0

它是一个'列表'? – Ani 2010-12-17 07:37:23

回答

2

假设这是一个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(); 

另外请注意,这是一个设置操作 - 这样的结果将不包含任何重复,即使是一个重复原始集合中的特定元素。

0

看看在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

相关问题