如何使用泛型修改实现数组右移滚动的Answer类?
用泛型实现数组循环右移功能
要把你的数组右移代码改成泛型版本,只需要把具体的int类型替换为泛型参数即可,这样你的方法就能支持任意类型的数组(比如字符串数组、浮点数组等)。修改后的代码如下:
internal class Answer { public static T[] Rollover<T>(T[] B, int K) { for (int j = 0; j < K; j++) { T lastelement = B[B.Length - 1]; for (int i = B.Length - 1; i > 0; i--) { B[i] = B[i - 1]; } B[0] = lastelement; } return B; } }
关键改动说明:
- 在方法名
Rollover后添加<T>,声明这是一个泛型方法,T代表任意类型参数 - 将方法的参数类型
int[]和返回类型int[]替换为T[] - 把存储最后一个元素的变量
lastelement类型从int改为T
修改后可以直接处理不同类型的数组,示例调用:
// 处理整数数组 int[] intArr = {1,2,3,4}; Answer.Rollover(intArr, 2); // 处理字符串数组 string[] strArr = {"a","b","c"}; Answer.Rollover(strArr, 1);
内容的提问来源于stack exchange,提问作者user18653598
相关产品推荐
相关产品推荐

