摘要:
在c#3.0中可以出现这样的语法
int i = 2;
Console.WriteLine(i.Square());
这就是扩展方法。
如何使int具有Square方法呢?
只需要定义这样一个函数
public static int Square(this int i)
{
return i * i;
} 阅读全文
posted @ 2008-01-06 19:40
tianyamoon
阅读(1066)
评论(3)
推荐(0)
摘要:
var employee= new{Age =25,Name = "james" }
无须显示声明一个类,而且在初始化器里面可以获取上下文的变量——闭包
这就是C#3.0里提供的匿名类型。 阅读全文
posted @ 2008-01-06 18:47
tianyamoon
阅读(1496)
评论(1)
推荐(0)
摘要:
在c#3.0里允许我们这样定义变量
var age = 10;
var name = "james";
var time = DateTime.Now;
var books = new string[]{"aa","bb"}; 阅读全文
posted @ 2008-01-06 18:20
tianyamoon
阅读(1485)
评论(7)
推荐(0)
摘要:
对比代码
c#2.0
Employee e1;
private void ee1()
{
e1 = new Employee(1);
e1.Age = 25;
e1.Name = "james";
}
c#3.0
Employee 2;
private void ee2()
{
e2 = new Employee(2) { Age = 25, Name = "james" };
}
与自动属性一样,初始化器的c#3.0的最大特点就是语法简化。 阅读全文
posted @ 2008-01-06 17:46
tianyamoon
阅读(2138)
评论(2)
推荐(0)
摘要:
public int ID { get; protected set; }
public string Name { get; set; }
这是接口内声明的属性么?
no,这也可以是类的属性,自动属性。
如果说c#3.0最大的改变是什么,那就是编码方式更人性化,程序员可以变的更懒。自动属性也是这一特征的具体表现。 阅读全文
posted @ 2008-01-06 16:37
tianyamoon
阅读(2265)
评论(10)
推荐(0)
摘要:
Lambda给我们带来什么?看下面的代码。
int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
var lowNums = from num in numbers
where num select num;
阅读全文
posted @ 2008-01-06 06:17
tianyamoon
阅读(3593)
评论(5)
推荐(0)

浙公网安备 33010602011771号