FindLastBy
Returns the last element in a collection that matches the given predicate function, match.
- Use
IEnumerable.Where()to filter out all values indatafor whichmatchreturnsfalse. - Use
IEnumerable.Last()to return only the last matching element.
using System.Collections.Generic;
using System.Linq;
public static partial class _30s
{
public static T FindLastBy<T>(IEnumerable<T> data, Predicate<T> match)
{
return data.Where(i => match(i)).Last();
}
}int[] nums = {1, 2, 4, 5, 2, 2, 4};
_30s.FindLastBy(nums, x => x % 2 == 0); // 4