2017-06-11 10 views
0

私は文字列配列にたくさんの文字列を持っています。私はLINQを介してそれを逆にしたい。 Array.Reverseを使用してforループを使用することはできますが、LINQを使用して行うことができますか?LINQを使用して文字列配列内のすべての文字列を逆にする方法は?

は、これは私のコードですが、そのは期待どおりに動作しません:

string[] strTemp = new string[] {"Hello", "World", "Foo"}; 
string[] strResult = strTemp.Select((a, b) => new { Value = a, Index = b }) 
        .Select(y => y.Value.ToCharArray().Reverse().ToString()).ToArray(); 

私の期待される結果は次のようになります。

"olleH", "dlroW", "ooF" 

答えて

2
string[] strResult = strTemp.Select(y => string.Concat(y.Reverse())).ToArray(); 
+0

ありがとうございます、これは期待どおりです! –

0

あなたは、アレイ内の個々の文字列を逆にしようとしているように聞こえます、要素の順序を逆にしないで、それは正しいですか? もしそうなら、これを試してください。

string[] strResult = strTemp.Select(s => Array.Reverse(s.ToCharArray()).ToString()).ToArray(); 

私はC#マシンにアクセスできないので、これはテストできません。

関連する問題