C# Array 中的 Foreach 与 FindAll 方法

C# Array 中的 Foreach 与 FindAll 方法.. 是两个很有用的语法糖. 语法糖 就是为了提高代码的可读性,及编写的效率的 你不使用它完成可以. 只是使用它的它会使你的代码更加清爽.

比如:以往我们要输出整个数组我们一般会用到foreach 遍输出:

foreach(string s in strArr)

{

  Console.WriteLine(s);

}

而使用 语法糖.只需要一名代码就OK了:Array.ForEach(strArr,Console.WriteLine);

上代码,详细测试下这两个方法的使用:

View Code
 1 using System;
2
3 class Program
4 {
5 static void Main(string[] args)
6 {
7 string[] strArr = {"ztc","lxl","zqh","123","ztx"};
8
9 /*
10 * Array.Foreach (泛型)方法是一个语法糖,主要是简化了我们使用foreach方法的
11 * 遍历操作.
12 * 我们这里是以Array来做测试,第一个参数是一个数组,第二个参数是我们要对其
13 * 进行的操作的方法. 可以直接使用方法名称,还可以使用Lambda表达示,这个的方法
14 * 这里使用的代理是Action 返回值为Void.
15 */
16 Array.ForEach<string>(strArr,Console.WriteLine); //Action 使用方法名
17 Array.ForEach<string>(strArr,s => Console.WriteLine("** "+s+" **")); //Action 使用Lambda表达式
18
19 //声明一个临时 String 数组.
20 string[] tmpArr;
21
22 /*
23 * 使用Array.FindAll方法,可以实现 数组的解析
24 * 把数组中符合一定条件的元素提出来组成一个新的数组
25 * 非常的实用,FindAll使用的代理是 Predicte 需要返回 Bool 型的方法
26 */
27 tmpArr = Array.FindAll(strArr,s => s.StartsWith("z")); //Lambda表达式
28 //同样使用Array.ForEach 方法把数组元素输出
29 Array.ForEach(tmpArr,Console.WriteLine);
30
31 //Array.ForEach 方法可以不使用泛型的写法,
32 //它会自动根据你提拱的数组类型来设置类型.
33 Array.ForEach(new int[] {1,2,3},Console.WriteLine);
34 }
35 }

输出结果:



原文地址:https://www.cnblogs.com/easyfrog/p/2322206.html