10

C#配列、配列内のデータを互いに区別する方法は?例えば

string[] a = {"a","b","a","c","b","b","c","a"}; 

取得する方法

string[]b = {"a","b","c"}
4

5 に答える 5

20

最も簡単な方法は、LINQDistinct()コマンドです。

var b = a.Distinct().ToArray();
于 2010-11-12T08:39:35.347 に答える
6

配列の代わりにセットの使用を検討することをお勧めします。セットに重複を含めることはできないため、2番目の「a」を追加しても効果はありません。そうすれば、キャラクターのコレクションには常に重複が含まれず、後処理を行う必要がなくなります。

于 2010-11-12T08:42:45.423 に答える
2
var list = new HashSet<string> { };
list.Add("a");
list.Add("a");

var countItems = list.Count(); //in this case countItems=1
于 2010-11-12T08:47:04.413 に答える
1

最初に使用する配列はですIEnumerable<T>。リストを個別の値に操作するために使用できるメソッドIEnumerable<T>がありますDistinct()

var distinctList = list.Distinct();

最後にIEnumerable<T>ToArray()メソッドがあります。

var b = distinctList.ToArray();
于 2010-11-12T08:46:12.040 に答える
0

c#ディクショナリを使用する方が良い方法だと思います。LINQを使用して値で並べ替えることができます

于 2010-11-12T13:52:59.793 に答える