C# 匿名方法 1027

 class Program {
        static void Main(string[] args) {
            SorAndShowFiles("Sorted by name", delegate(FileInfo f1, FileInfo f2) {
                return f1.Name.CompareTo(f2.Name);
            }
                );
            Console.ReadKey();
        }
        delegate void SampleDelegate(string x);
        public static void CandidateAction(string x) {

            Console.WriteLine("CandidateAction");
        }
        public static void SorAndShowFiles(string title, Comparison<FileInfo> sortOder) {
            FileInfo[] files = new DirectoryInfo(@"F:\").GetFiles();
            Array.Sort(files, sortOder);
            Console.WriteLine(title);
            foreach (FileInfo file in files) {
                Console.WriteLine("Name:{0}   Length:{1} bytes", file.Name, file.Length);
            }
        }
        //
    }

  ///刚开始研究匿名方法和Lambda表达式,试着写了一个例子

  这段代码在开始的时候初始化了一个字符串列表(string list),然后通过列表的FindAll方法来查找以“sunny”起始的字符串,最后将所查找到的所有结果输出。

List<string> names = new List<string>();
            names.Add("Sunny Chen");
            names.Add("Sunny  Wang");
            names.Add("DDDD Crystal");
            //第一个阶段 匿名方法
            List<string> found = names.FindAll(new Predicate<string>(delegate(string name) {
                return name.StartsWith("Sunny", StringComparison.OrdinalIgnoreCase);
            }));
            //方式二 匿名方法
            List<string> found2 = names.FindAll(delegate(string name) {
                return name.StartsWith("Sunny", StringComparison.OrdinalIgnoreCase);
            });

            //方式三 Lambda表达式
            List<string> found3=names.FindAll(x=>(x.StartsWith("Sunny", StringComparison.OrdinalIgnoreCase)));

            if (found!=null) {
                foreach (string  item in found) {
                    Console.WriteLine(item);
                }
            }
            Console.ReadKey();

  

C# 匿名方法 1027

上一篇:10-26C#基础回顾、汇总(函数重点)


下一篇:qt实现类似qq的阴影窗体