2つの文字列配列から重複を効果的に削除するにはどうすればよいですか?string[] a
別のにあるからすべての重複を削除したいstring[] b
例えば
a = { "1", "2", "3", "4"};
b = { "3", "4", "5", "6"};
私が探している結果は
c = { "5", "6"};
var final = b.Except(a).ToList();
Enumerable.Exceptは、2つのシーケンスのセット差を生成します
var c = b.Except(a).ToArray(); // gives you { "5", "6" }
あなたはこれを使ってみることができます:-
List<string[]> moves = new List<string[]>();
string[] newmove = { piece, axis.ToString(), direction.ToString() };
moves.Add(newmove);
moves.Add(newmove);
moves = moves.Distinct().ToList();
またはこれを試してください:-
var c = b.Except(a).ToArray();
static void Main(string[] args)
{
Foo(m.Length-1);
}
static string m = "1234";
static string c = "3456";
static int ctr = 0;
static void Foo(int arg)
{
if (arg >= 0)
{
Foo(arg - 1);
Console.Write(m[arg].ToString());
for (int i = ctr; i < m.Length; i++)
{
if (c[i].ToString() == m[arg].ToString())
{
ctr++;
break;
}
}
if(arg==m.Length-1)
{
for (int i = ctr; i <m.Length; i++)
{
Console.Write(c[i].ToString());
}
}
}
}