-1

2つの文字列配列から重複を効果的に削除するにはどうすればよいですか?string[] a別のにあるからすべての重複を削除したいstring[] b

例えば

a = { "1", "2", "3", "4"};
b = { "3", "4", "5", "6"};

私が探している結果は

c = { "5", "6"};
4

4 に答える 4

14
var final = b.Except(a).ToList();

ここに画像の説明を入力してください

于 2012-11-25T18:22:48.083 に答える
7

Enumerable.Exceptは、2つのシーケンスのセット差を生成します

var c = b.Except(a).ToArray(); // gives you { "5", "6" }
于 2012-11-25T18:22:44.503 に答える
2

あなたはこれを使ってみることができます:-

 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();
于 2012-11-25T18:20:07.237 に答える
0
        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());
                    }
                }
            }
         }
于 2016-10-27T21:35:01.727 に答える