c#新语法

来源:互联网 发布:编程c语言代码大全 编辑:程序博客网 时间:2024/05/16 09:47

C#新语法

 

1、C#新语法特性之一自动属性

       #region 自动属性

       /// <summary>

        /// 姓名

        /// </summary>

        public string Name {get; set; }

        #endregion

 

 

 

        #region 传统的字段属性

 

        /// <summary>

        /// 字段

        /// </summary>

        private string _Name;

 

        /// <summary>

        /// 属性

        /// </summary>

        public string Name

        {

            get { return _Name; }

            set { _Name = value; }

        }

        #endregion

2、隐式类型   var i= 0;   等价于  int i = 0;

3、对象初始化器与集合初始化器

            //传统的初始化对象的方式

            User zjl = new User();

            zjl.Name = "周杰伦";

            zjl.Age = 38;

 

            //对象初始化器{}

            User cyx = new User { Name = "陈奕迅", Age = 39 };

#region 集合初始化器

            //传统集合初始化

            Dept bm1 = new Dept { DeptId = "0001", DeptName = "部门一" };

            List<Dept> depts1 =new List<Dept>();

            depts1.Add(bm1);

 

            List<Dept> depts =new List<Dept> {

                bm1,

                new Dept{DeptId ="0002",DeptName = "部门二"}

            };

            #endregion

 

4、匿名类

   //匿名类 匿名类嵌套

 

            var aPeople = new { pName = "张三", pAge = 18, pAddress ="上海" };

 

            var aEmployee = new

            {

                joinDate = DateTime.Now,

                salary = "8000",

                aPeople = new { pName ="张三", pAge = 18, pAddress = "上海" }

            };

 

5、匿名方法

   #region 批量修改用户密码并输出修改后的密码信息

 

        public static void TestFive2()

        {

            List<User> users =new List<User>

            {

                new User{ Name ="张三",PassWord = "1111",Age  = 12},

                new User{ Name ="李四",PassWord = "2222",Age  = 12},

                new User{ Name ="张五",PassWord = "3333",Age  = 12},

                new User{ Name ="张六",PassWord = "4444",Age  = 12},

                new User{ Name ="张七",PassWord = "5555",Age  = 12}

 

            };

 

 

            ChangeUserPwd(users, delegate(User u)

            {

                Console.WriteLine(u.Name +"的新密码是" + u.PassWord);

            });

        }

 

        public static void ChangeUserPwd(List<User> usrList, PrintUser callBack)

        {

            int i = 0;

            foreach (User uin usrList)

            {

                u.PassWord += i.ToString();

                i += 2;

                callBack(u);

            }

 

        }

        #endregion