読者です 読者をやめる 読者になる 読者になる

AccessViolation Exception

仕事でもはんだづけ、家でもはんだづけ

c#でループカウンタをクロージャ変数として使うときのforを隠蔽

c# 技術ネタ

c# LINQと拡張メソッド追加に関して - AccessViolation Exception

に更新されました。


時折「お前はn番目だからその数値を投げてこい」というような処理をしたくなる。無論実装は容易なのだが問題なのがforeach使ったりするとインデックスを取ってくるのが面倒なのと、余計なインスタンス等を生成せずにやろうとしようものならforと[]でアクセスすることになる。

ダサいのでforを隠蔽できるようにした。

var list = new List<T>();
list.IndexedProcess((s,i) => {
    //iがlist.IndexOf(s)と等しい
});

てな感じ。余計な手間が省けて良い

c#ループカウンタをクロージャ変数として使うときのforの隠蔽