针对数组的深入研究
时间:2011-05-18 来源:高导
1.针对数组元素的查询和转换操作
加入有个int类型的数组,要转换成double,那该怎么做呢?
数组类型基类有一个Array的ConvertAll方法实现。
实现代码如下:
1 static Converter<int, double> intdouble = delegate(int ele) { return (double)ele; };
2 public static void Main()
3 {
4 int[] intarr = new int[] { 1, 5, 6, 7, 8, 9, 10 };
5 double[] arrdouble = Array.ConvertAll<int, double>(intarr, intdouble);
6 Array.ForEach<double>(arrdouble, ele => { Console.WriteLine("{0:N}\n", ele); });
7
8 }
不知道还有没有更好的办法?
2.针对数组的每个元素都做相同的改变,那该怎么做呢?
可以用 public static void ForEach<T>(T[] array, Action<T> action);这个方法。第二个参数是一个Action的委托。
直接贴出代码了:
1 static void Main(string[] args)
2 {
3 //源数组
4 int[] SourceArr = new int[]
5 {
6 0,1,2,3,4,5,6,7,8,9
7 };
8 //目标数组
9 int[] TargetArr = new int[SourceArr.Length];
10 int index=0;
11 //将施加于每个数组元素的“加工方法”
12 Action<int> DoubleElement = delegate(int element)
13 {
14 TargetArr[index++] = element * 2;
15 };
16 //完成源数组的“加工”
17 Array.ForEach<int>(SourceArr, DoubleElement);
18 //显示处理结果
19 Array.ForEach<int>(TargetArr, (elelm) => { Console.WriteLine(elelm); });
20
21 Console.ReadKey();
22 }
3.数组元素的排序
待续 。。。。。
相关阅读 更多 +