码迷,mamicode.com
首页 > Windows程序 > 详细

C#3.0新特性

时间:2016-03-07 20:53:50      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:

  

1.初始化器:className variableName = new className(property1=value1…);

2.var可以声明一个没有类型的变量,根据赋值的不同改变数据类型

3.匿名方法,如果一个类用的少,可以省略类名,直接创建实例化

4.扩展方法:支持给基础类添加方法

//匿名方法例子
static void Main(string[] args) {
    var class1 = new { name = "jack", age = 15, gender = "man" };
            Console.WriteLine(class1.name+class1.age+class1.gender);
            for (;;) ;}

另一个例子

 public static class StringExtension {    //扩展类名,必须静态类
        public static string ExtensionFunction(this string input) {//必须有参数,表示调用扩展方法的类实例
           return "Hello "+input;
        }
    }
    class Program {
    static void Main(string[] args) {
            string str = "this is a string";
            Console.WriteLine(str.ExtensionFunction());//输出Hello this is a string
            for (;;) ;
    }
    }

Lanmda表达式

Lanmuda表达式:是用来简化匿名方法,由三个部分构成:1.放在括号内的参数列表(未类型化,可以推断参数)2.=>运算符 3.C#语句

    delegate int CalculateDelegate(int a, int b);//构建两个参数委托
    class Program
    {
        static void CalculateFunction(CalculateDelegate cal)
        {
            int a = 100, b = 100;
            Console.WriteLine(cal(a,b));
        }
    static void Main(string[] args) {
            Program.CalculateFunction((a,b)=>a+b);//输出200
            Program.CalculateFunction((a, b) => a * b);//输出10000
            CalculateDelegate c;
            c = (a, b) => a + b;    //相当于构建函数
            Console.WriteLine(c(10,10));//输出20
            for (;;) ;
    }
    }

 

C#3.0新特性

标签:

原文地址:http://www.cnblogs.com/feichangnice/p/5251770.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!