C#: VS2008的新特性(一)

1、自动属性

//-----vs2005-----

class Person

{

private string firstName;

private string lastName;

private int age;

public string FirstName

{

get { return firstName; }

set { firstName = value; }

}

public string LastName

{

get { return lastName; }

set { lastName = value; }

}

public int Age

{

get { return age; }

set { age = value; }

}

}

//----vs2008-----

class PersonNew

{

public string FirstName { get; set; }

public string LastName { get; set; }

public int Age { get; set; }

}

自动属性的典型适用场合:

clip_image001在属性代码中只包含基本的赋值取值功能

clip_image001[1]简单的实体类

 

使用自动属性时,需要注意以下几点:

clip_image001[6]自动属性不能实现只读或者只写属性

clip_image001[7]因为没有声明私有变量,你在使用自动属性时只能直接使用属性名进行引用

2. 对象初始化器

image

image

3. 集合初始化器:----使集合可以像数组一样的初始化;

image

4. 扩展方法

image

image

使用扩展方法时,请注意:

clip_image001[10]在一个静态类中定义需要的扩展方法

clip_image001[11]如果上面定义的扩展方法位于不同的命名空间,使用时记住用 using 语句引用过来

clip_image001[12]当类本身的方法与扩展方法同名时,优先类本身的方法

使用扩展方法时,需要注意以下几点:

clip_image001[16]扩展方法允许我们对已存在类型的行为进行扩展

clip_image001[17]扩展方法是一种特殊的静态方法

clip_image001[18]扩展方法必须在静态类中定义

clip_image001[19]扩展方法的优先级低于同名的类方法

clip_image001[20]扩展方法只在特定的命名空间内有效

clip_image001[21]除非必须不要滥用扩展方法

class Program
{
    static void Main(string[] args)
    {
        Person p = new Person
        {
            FirstName = "小刘",
            LastName = "小流",
            Age = 28
        };
        p.FirstName.SayHi();
        Console.ReadLine();
    }
}

static class TestExtMethod
{
    public static void SayHi(this string name)
    {
        Console.WriteLine("你好!"+name);
    }
}

5.推断类型

image

 

 

 

 

 

 

 

 

image

image

使用关键字 var 时,需要注意以下几点:

clip_image001[28]定义变量时,必须同时完成初始化工作

clip_image001[29]不允许用 var 定义一个以 null 值初始化的局部变量

clip_image001[30]var 本身不是一个新类型,本质上,它只是用来修饰一个可以推断出类型的局部变量

6.匿名类

image

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值