C#中如何对对象数组进行遍历 并进行判断对象类型
1个回答
展开全部
private static void SelectSort<T>(T[] arr) where T : IComparable<T> { SelectSort(arr, 0, arr.Length - 1); } private static void SelectSort<T>(T[] arr, int start, int end) where T : IComparable<T> { while (start <= end) { var min = start; for (var i = start + 1; i <= end; i++) if (arr[i].CompareTo(arr[min]) < 0) min = i; if (min != start) Swap(arr, start, min); start++; } }
这样,各种各样的实现了 IComparable<T> 接口的对象(整数和字符串都实现了它)就可以调用它。
如果你想自定义自己的比大小规则,你仅仅需要将比较大小方法作为方法参数传入,或者将对象封装到自定义的类型中(并且实现比大小接口),仍然可以调用这个排序程序。
这样,各种各样的实现了 IComparable<T> 接口的对象(整数和字符串都实现了它)就可以调用它。
如果你想自定义自己的比大小规则,你仅仅需要将比较大小方法作为方法参数传入,或者将对象封装到自定义的类型中(并且实现比大小接口),仍然可以调用这个排序程序。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询