public static TSource SingleOrDefault <TSource>(this List <TSource> source) { var aggregate = new SingleOrDefault <TSource>(); ListSegmentNode.ProcessList(source, ref aggregate); return(aggregate.GetResult()); }
public static TSource SingleOrDefault <TSource>(this ReadOnlyMemory <TSource> source) { var aggregate = new SingleOrDefault <TSource>(); MemoryNode.ProcessMemory(source, ref aggregate); return(aggregate.GetResult()); }
public static TSource SingleOrDefault <TSource>(this TSource[] source) { var aggregate = new SingleOrDefault <TSource>(); ArrayNode.ProcessArray(source, ref aggregate); return(aggregate.GetResult()); }