C# リストを逆順に処理する

foreachでリストを逆順に処理する方法ってどっかで見たような気がするんだけど、改めて探してみると見つからない。
なにかの記事で読んだ気がするんだけど記憶違いか?c++で言うリバースイテレータの処理と同じ事やりたんだけど、なかったかな?

forで逆順に処理するか、foreachで以下のような書き方すれば済むんだけど、なんかスマートさに欠ける。方法ないんだろうか?

// 逆順で処理したいのでリストを逆転する
items.Reverse();
foreach (MyItem item in items)
{
// itemに対する処理ここで行う
}
// 処理が終わったのでリストを再逆転して元に戻す
items.Reverse();

// たぶんこれだ
foreach (MyItem item in items.Reverse())
{
// itemに対する処理ここで行う
}


コメント

このブログの人気の投稿

TabError: inconsistent use of tabs and spaces in indentation

マクロを含んだ.XLSがExcel2010で開けない

using ディレクティブまたはアセンブリ参照が不足しています。