【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;