Vb.net 比较两个字符串数组列表
我有两个数组列表Vb.net 比较两个字符串数组列表,vb.net,arrays,comparison,Vb.net,Arrays,Comparison,我有两个数组列表 dim Colors1 = New ArrayList Colors1.Add("Blue") Colors1.Add("Red") Colors1.Add("Yellow") Colors1.Add("Green") Colors1.Add("Purple") dim Colors2 = New ArrayList Colors2.Add("Blue") Colors2.Add("Green") Colors2.Add("Yellow
dim Colors1 = New ArrayList
Colors1.Add("Blue")
Colors1.Add("Red")
Colors1.Add("Yellow")
Colors1.Add("Green")
Colors1.Add("Purple")
dim Colors2 = New ArrayList
Colors2.Add("Blue")
Colors2.Add("Green")
Colors2.Add("Yellow")
我想找出在Colors1中找到的Colors2缺少哪些颜色查看使用方法。“此方法返回第一个中未出现在第二个中的元素。它也不会返回第二个中未出现在第一个中的元素。”
所以你可以把颜色2作为第一个参数,把颜色1作为第二个参数
编辑:我的意思是你可以把颜色1放在第一位,把颜色2放在第二位
编辑2:(佩尔肖恩)
为了完整起见,我将添加老式方法
List<string> result = new List<string>();
foreach (string s in Colors1)
if (Colors2.Contains(s) == false)
result.add(s);
// now result has the missing colors
列表结果=新列表();
foreach(彩色字符串s 1)
if(Colors2.Contains)==false)
结果。添加(s);
//现在结果中缺少了颜色
+1以前从未注意到这一点。(注意:需要.NET3.5或更高版本)@egruni是一个很好的观点。谢谢你提到那件事。这是Linq扩展方法的一部分。我只想补充一点,因为答案可能会令人困惑,您可以编写类似于“var missingFrom2=colors1.Except(colors2);”的内容@肖恩,谢谢你的例子。只要我们有一个例子,它总是有帮助的。如果我没有运行.NET版本2.0.50727.3053,那么+1对于anwer是有效的
List<string> result = new List<string>();
foreach (string s in Colors1)
if (Colors2.Contains(s) == false)
result.add(s);
// now result has the missing colors