匿名メソッド

C#

C#2.0では”匿名メソッド”という新機能が追加されている。
本来デリゲートを指定するところに直接処理内容を書いてしまう手法。

実際に使用する機会があったのでサンプルとして記録しておく。
ソースコード一部抜粋
[csharp]
this.Buffer.Sort(
delegate(RTPData x, RTPData y)
{
int diff = (int)(x.SeqNo – y.SeqNo);
if (diff > JITTER_BUFFER_SIZE) return -1;
if (diff < -JITTER_BUFFER_SIZE) return 1;
return diff;
}
);
[/csharp]

ちなみにRTPDataは自作クラスでthis.BufferListクラス。
SortメソッドでRTPDataのメンバであるSeqNoをもとに昇順ソートするもの。
このソースコードではJITTER_BUFFER_SIZEとの関係によりちょっと特殊な形になっている。
こうすることで簡潔なコードが書けるので、見た目がすっきりする。

スポンサーリンク
管理人

システムえんじにゃー🐈
趣味はエレキギターなど。作曲したい。
WoWs/プリコネ
記事に関する質問はお気軽にどうぞ。

surface0をフォローする
surface0をフォローする
Rain or Shine

コメント

タイトルとURLをコピーしました