【Linq】要素の検索

投稿者: | 2019年12月4日

忘れるのでメモ

指定された条件を満たす、シーケンスの最初の要素を返します。

public static TSource First<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);
var map = new Dictionary<string,int>{ {"neko", 100}, {"inu", 200}, {"tasmanian devil", 1} };
try
{
    var quantity = map.First( x => x.Key == "neko").Value;
}
catch( System.ArgumentNullException e){ /* nullです */ }
catch( System.InvalidOperationException e){ /* 見つかりません*/ }

条件を満たす、シーケンスの最初の要素を返します。このような要素が見つからない場合は既定値を返します。

public static TSource FirstOrDefault<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);
var map = new Dictionary<string,int>{ {"neko", 100}, {"inu", 200}, {"tasmanian devil", 1} };
var quantity = map.FirstOrDefault( x => x.Key == "neko").Value;

指定された条件を満たす、シーケンスの最後の要素を返します。

public static TSource Last<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);
var map = new Dictionary<string,int>{ {"neko", 100}, {"inu", 200}, {"tasmanian devil", 1} };
try
{
    var quantity = map.Last( x => x.Key == "neko").Value;
}
catch( System.ArgumentNullException e){ /* nullです */ }
catch( System.InvalidOperationException e){ /* 見つかりません*/ }

条件を満たす、シーケンスの最後の要素を返します。このような要素が見つからない場合は既定値を返します。

public static TSource LastOrDefault<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);
var map = new Dictionary<string,int>{ {"neko", 100}, {"inu", 200}, {"tasmanian devil", 1} };
var quantity = map.LastOrDefault( x => x.Key == "neko").Value;

コメントを残す