1

タイトル通りのことをしたいのですが、どうすればいいのかわかりません。

私は2つのリストを持っています:

public List<int[,]> LongList = new List<int[,]>();
public List<int[,]> UniqueList = new List<int[,]>();

さらに説明するために、シナリオを次に示します。

パズル:

public int[,] puzzle1 = new int [3,3] { {1,2,3},
                                            {8,4,0},
                                            {7,6,5} }; //[1,2,3;8,4,0;7,6,5]

    public int[,] puzzle2 = new int [3,3] { {8,7,6},
                                            {1,0,5},
                                            {2,3,4}  }; //[8,7,6;1,0,5;2,3,4]


    public int[,] puzzle3 = new int [3,3] { {7,6,3},
                                            {1,0,2},  
                                            {8,4,5}  }; //[7,6,3;1,0,2;8,4,5]

ロングリストには以下が含まれます:

LongList.Add(puzzle1); 
LongList.Add(puzzle1); 
LongList.Add(puzzle1); 
LongList.Add(puzzle1);
LongList.Add(puzzle2);
LongList.Add(puzzle2);
LongList.Add(puzzle3);
LongList.Add(puzzle3);
LongList.Add(puzzle3);

LongList からの UNIQUE 値を保持する Unique リストが必要です。これが起こった場合:

UniqueList.Add(puzzle1);
UniqueList.Add(puzzle2);
UniqueList.Add(puzzle3);

式: UniqueList = LongList からの個別の値

リストは複数の繰り返し値でいっぱいです & 一意のものだけを取得して に入れたいと思いますUniqueList

パズルを完成させようとしていLongListますが、同じパズルなどの参照が複数含まれています。議論のケースを簡単にするために:

LongList値: 1,1,1,1,2,2,3,4,4,4,4,5,5

パズルを入れたいUniqueList: 1,2,3,4,5

4

2 に答える 2

1

OPの更新に基づいて、重複した参照を削除するだけです。したがって、値ごとに比較する必要はありません。Distinctすべきこと:

UniqueList = LongList.Distinct().ToList();
于 2013-04-04T03:09:29.770 に答える