public static SubArray </*Type[0]*/ ulong /*Type[0]*/> distinct(this SubArray </*Type[0]*/ ulong /*Type[0]*/> array) { if (array.Length <= 1) { return(array); } return(new SubArray </*Type[0]*/ ulong /*Type[0]*/> { Array = array.Array, Start = array.Start, Length = FixedArraySortGroup.Distinct(array.Array, array.Start, array.Length) - array.Start }); }
public static valueType[] distinct <valueType>(this SubArray </*Type[0]*/ ulong /*Type[0]*/> array, Func </*Type[0]*/ ulong /*Type[0]*/, valueType> getValue) { return(array.Length == 0 ? NullValue <valueType> .Array : FixedArraySortGroup.Distinct(array.Array, getValue, array.Start, array.Length)); }