クイックメニュー
スレタイ検索

C#, C♯, C#相談室 Part93

634デフォルトの名無しさん [sage]

AAS

NG

こういう拡張メソッド作っておくのはたまにやる
public static IEnumerable<int> WhereIndex<T>(this IEnumerable<T> self, Func<T, bool> predicate)
{
  var i = 0;
  foreach(var s in self)
  {
    if(predicate(s)) yield return i;
    i++;
  }
}

dataA.Zip(dataB, (a, b) => a == b).WhereIndex(eq => !eq);

拡張メソッド嫌いな人もいるだろうけど一番読みやすい
わざわざSelectでインデックスつけてる冗長さもないし、添字アクセスもないし、使う時はすっきり意味がわかりやすい

2018/08/08(水)15:07:53.10(x4iNladl0.net)

名前

メール

本文