2016-03-30 21 views
1
string test = "asdf"; 

IEnumerable<char> str = test.ToArray().Distinct(); 

string[] strArray = str.Select(x => x.ToString()).ToArray(); 

は私が列挙に変換する必要があり、その後、私は、文字列[]の中にそれを作ることができます。LinQでのコードの改善?

はあなたのIEnumerableを使用せずに変数のテストに基づいて、[]の文字列にそれを作る方法についてのよりよい解決策を知っていますか?

上記の現在のコードは迂回路です。ショートカットを使用するとそれを改善することは可能でしょうか?

あなたが行うことができます
+2

あなたの例は明確ではありません。 "aaab"のような文字列を文字列配列{"a"、 "b"}に変換する必要がありますか? –

答えて

1

:stringはすでにIEnumerable<char>あるよう

string[] strArry = test.Distinct().Select(x=> x.ToString()).ToArray(); 

最初の行にToArrayをコールする必要はありません。

IEnumerableを使用せずに変数testに基づいて という文字列[]にする方が良い解決法をご存知ですか?あなたはそれがIEnumerable<T>返しDistinctを使用する場合

は、私は正確にあなたがIEnumerable<T>を回避することにより、どのような意味かわからないが、あなたはまた、文字列中の文字を反復処理し、LINQを使用せずに、文字列に変換することができます。

+1

ありがとうございました! –

関連する問題