2016-10-27 11 views
0

C#でdistinct()メソッドに関する質問があります。 私は文字列リストを持っています。私stringtxtリスト内の文字列に例えばリスト内の一意の文字列のdistinct()メソッドC#

List <string> stringtxt = stringtxt.distinct().ToList(); 

は、次のとおりです。

"A" 
"B" 
"C" 
"B" 
"E" 

どのように私は出力のみ "A" "B" "C" "E" を取得すること、これを実装することができます。インターフェイス "IEquatable"または任意のHashCodeの使用を無効にします。 これを解決するためにforeachループを使用しました。

foreach(var stringitem in stringtxt) 
{ 
    tb.text = stringitem; 
} 

しかし、これがこの問題を解決する最良の方法かどうかはわかりません。以下のコメントから


私は私が理解しやすい質問をしようとしています申し訳ありません:D再びこの私私のコード:私はあなただけ配置する必要があることがわかり

List<string> stringvalues = new List<string>(); 
stringvalues.Add("A"); 
stringvalues.Add("ccc"); 
stingvalues.Add("B"); 
stingvalues.Add("B"); 
stingvalues.Add("E"); 
stringvalues.Add("hello"); 
List<string> stringtxt = stringvalues.Distinct().ToList(); 

//Output 
A,ccc,B,E,hello 
+2

[MCVE]を提供してください - )( ''個別にのみ異なる値を返すように、タイプミスを修正した後、コードはとにかく任意の重複を生じるべきではありません。テキストボックスがどのように関係しているか、 'stringtxt'を宣言して初期化子に' stringtxt'を使用する方法は明確ではありません... –

+1

明確ではありません。 'List stringtxt = stringtxt.Distinct()。ToList();'は循環型でコンパイルされません。あなたの意見はどういうものなのでしょうか? –

+0

変数を宣言して同じステートメント内のソースとして使用することはできません: 'List stringtxt = stringtxt ....' –

答えて

0

別のリストは文字列に戻っていますか?

List<string> stringtxt = new List<string>() 
{ 
    "A", 
    "B", 
    "C", 
    "B", 
    "E" 
}; 
stringtxt = stringtxt .Distinct().ToList(); // avoid redeclaring stringtxt as List<string> 
// combine the stringlist into a string with , separator 
string output = string.Join(",", distinctStringList); 
+0

多くの仮定... –

+0

ありがとう@ kurakura88しかし、私は文字列リストを持っているので、分割機能を使用することはできません – flowers1234

0

は、hashtableを作成foreachで、すべての文字列を通過し、それを追加しよう:次に、あなただけの下の最後の行を必要としています。失敗した場合は、エラーを無視してください。 最後に、ハッシュテーブルのすべての要素を印刷してください。例えば

Hashtable hash= new Hashtable(); 
    foreach (var s in your_list) 
    { 

     try 
     { 
      hash.Add(s, s); 
     } 
     catch 
     { 
      // will happen if exists 
     } 
    } 
+0

ありがとう、私はやったこれはハッシュテーブルでも同じ結果を得ました。したがって、一意性のために私はメソッドdistinct()を使うことができる、または私はハッシュテーブルの権利を実装することができます:) – flowers1234

+0

私はあなたのために仕事を行う、別名を使用しますが、あなたがそれを自分でやりたいのであれば、ハッシュテーブルまたは辞書はうまくいくでしょう。あなたはリストでそれを行うことができますが、実行時間は100アイテムのおもちゃリストではなくなりますが、時間は指数関数的になります。 – Noctis

関連する問題