string[] str = new string[] { "Sun", "Mon", "Tues", "Wed", "Thur", "Fri", "Sat" };
string[] str1 = new string[] { "Mon", "Tues", "Wed" };
string[] str2 = new string[10];
我想要
str2[]={"Sun","Thur","Fri","Sat"}
答案 0 :(得分:3)
您可以使用Enumerable.Except,它使用默认的相等比较器来比较值,从而产生两个序列的集合差异。
var str2= str.Except(str1);
注意:不要忘记添加System.Linq
名称空间;
using System.Linq;
答案 1 :(得分:1)
您可以对LINQ使用Enumerable.Except
方法。不要忘记添加System.Linq
命名空间。等;
使用默认值生成两个序列的集合差异 等于比较来比较值。
string[] str = new string[] { "Sun", "Mon", "Tues", "Wed", "Thur", "Fri", "Sat" };
string[] str1 = new string[] { "Mon", "Tues", "Wed" };
var str2 = str.Except(str1);
foreach (var i in str2)
{
Console.WriteLine(i);
}
输出将是;
Sun
Thur
Fri
Sat
这里有 demonstration
。
答案 2 :(得分:1)
string[] str = new string[] { "Sun", "Mon", "Tues", "Wed", "Thur", "Fri", "Sat" };
string[] str1 = new string[] { "Mon", "Tues", "Wed" };
var str2 = str.Where(t => !str1.Contains(t)).ToArray();
答案 3 :(得分:0)
您也可以将Where
与Contains
var str2 = str.Where(s => !(str1.Contains(s)).Select(s => s);