14

4 回呼び出されているメソッド内で使用されている一般的なリストがあります。このメソッドは、この汎用リストの値を使用して PDF にテーブルを書き込みます。

私の問題は、メソッド内でこの一般的なリストを逆にする必要があることですが、メソッドを4回呼び出しているため、メソッドを呼び出すたびにリストが逆になり、それを望まない...どうすればよいですか? 元を変更せずにリストを逆にする方法はありますか?

これはメソッド内にあります:

t.List.Reverse();
foreach (string t1 in t.List)
{
    //Some code
}
4

4 に答える 4

35

「簡単な」オプションは、リスト自体を実際に変更せずに逆の順序で反復することです。最初にリストを逆にして、それ以外は何もしないことを知っているのではありません。

foreach (string t1 in t.List.AsEnumerable().Reverse())
{
    //Some code
}

Reverseの代わりにLINQReverseメソッドを使用することで、リストを変更せずに逆方向に繰り返すことができます。メソッドが使用されないようにするために、そこにListあるAsEnumerable必要があります。List Reverse

于 2013-09-30T19:19:51.257 に答える
7

オリジナルを変更せずに、リストの逆コピーを作成する方法を尋ねています。

LINQ はそれを行うことができます。

foreach (var t1 in Enumerable.Reverse(t.List))
于 2013-09-30T19:19:42.257 に答える