ふらっと C#,C♯,C#(初心者用) Part126 [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0687デフォルトの名無しさん (ワッチョイ 8b7b-eq+O)
2017/02/20(月) 03:33:55.65ID:Cim83SJm0public static IEnumerable<int> WhereIndex<T>(this IEnumerable<T> source, Func<T, bool> predicate)
{
return source.Select((value, index) => new { Index = index, Value = value })
.Where(x => predicate(x.Value)).Select(x => x.Index);
}
値が0以上限定ならこんな風にも書ける
public static IEnumerable<int> WhereIndex<T>(this IEnumerable<T> source, Func<T, bool> predicate)
{
return source.Select((value, index) => predicate(value) ? index : -1)
.Where(x => x >= 0);
}
■ このスレッドは過去ログ倉庫に格納されています