walleyekneel 发表于 2013-1-26 12:38:25

Linq匿名方法和Lamada的尝试3

定义一个类:
   class Student
    {
        public string Name { get; set; }
        public string Sex { get; set; }
        public string StuID { get; set; }
        public string School { get; set; }
        public int Year { get; set; }
    }
 
//直接贴代码 懒得说废话
    class Program
    {
        static void Main(string[] args)
        {
            List<Student> students = new List<Student>()
            {
                new Student(){Name="小一",Sex="男",StuID="001",School="中大",Year=10},
                new Student(){Name="大二",Sex="女",StuID="002",School="华工",Year=11},
                new Student(){Name="张三",Sex="男",StuID="003",School="广外",Year=12},
                new Student(){Name="李四",Sex="女",StuID="004",School="广工",Year=13}
            };
            //1.匿名方法 选出数组里面的名字
            //var p = from c in students select c.Name;

            //Lamada表达式,选出数组里面的名字
            //var result = students.Select(p => p.Name);
 
            //2.匿名方法:选出多个字段Name,School,Year
        /*    var p = from c in students
                    select new
                        {
                            c.Name,
                            c.School,
                            //nianling不用定义,类似sql语句中字段重命名(A as B)
                            //错误写法c.Year=c.Year+10
                            nianling=c.Year+10//在这里可以进行简单的操作
                        };*/

            //Lamada表达式:选出多个字段Name,School,Year
            var result = students.Select(p => new { p.Name, p.School, p.Year });

            foreach (var item in result)
            {
                Console.WriteLine(item.Name+" ---- "+item.School+"------"+item.Year);
            }
            Console.ReadKey();
        }
    }
页: [1]
查看完整版本: Linq匿名方法和Lamada的尝试3