2012-03-31 114 views
-2

我有以下字符串数组:字符串数组。选择

var array1 = new String[] { "A", "B", "C", "D" } 

var array2 = new String[] { "B", "D" } 

我需要做到以下几点:

1)查找数组2出现在阵列1 firts(在这种情况下,产品B);

2)获取(1)中的项目以及在array1中出现的所有其他项目。

因此,在这种情况下,我会得到:

var array3 = new String[] { "B", "C", "D" } 

我试图做到这一点,一步到位,使用lambda表达式。

这可能吗?

+0

请告诉我们你已经尝试了什么。 – 2012-03-31 18:52:37

+0

@Bridge - 请看下面。无论如何,人们会帮助你。 – 2012-03-31 19:33:55

+0

对不起,对于延迟...我不在了... – 2012-03-31 22:16:32

回答

8
var array3 = array1.SkipWhile(x => !array2.Contains(x)).ToArray();  
+0

这似乎是一个很好的解决方案......但有时我可能需要列表中的“B,C和D”......其他时间我可能只需要“C和D”。我忘了那个细节...... – 2012-03-31 22:19:20

+2

@Shapper游戏开始后更改规则? '有时候我可能需要列表中的“B,C和D”......其他时候我可能只需要“C和D”'或者没有规则? – 2012-03-31 22:27:43