步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)

[索引页]
[源码下载]


步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)


作者: webabcd


介绍
    ·Automatic Properties(自动属性)
    ·Object Initializers(对象初始化器)
    ·Collection Initializers(集合初始化器)
    ·Extension Methods(扩展方法)


示例
AutomaticProperties.cs (自动属性)
InBlock.gif using System; 
InBlock.gif using System.Data; 
InBlock.gif using System.Configuration; 
InBlock.gif using System.Linq; 
InBlock.gif using System.Web; 
InBlock.gif using System.Web.Security; 
InBlock.gif using System.Web.UI; 
InBlock.gif using System.Web.UI.WebControls; 
InBlock.gif using System.Web.UI.WebControls.WebParts; 
InBlock.gif using System.Web.UI.HtmlControls; 
InBlock.gif using System.Xml.Linq; 
InBlock.gif 
/// <summary> 
/// AutomaticProperties(自动属性)的摘要说明 
/// </summary> 
InBlock.gif public  class AutomaticProperties 
InBlock.gif
InBlock.gif         public  int ID { get; set; } 
InBlock.gif 
InBlock.gif         // 上面的ID属性(自动属性)等同于下面的ID属性 
InBlock.gif 
InBlock.gif         // private int _id; 
InBlock.gif         // public int ID 
InBlock.gif         // { 
InBlock.gif         //         get { return _id; } 
InBlock.gif         //         set { _id = value; } 
InBlock.gif         // } 
InBlock.gif}
 
ObjectInitializers.cs对象初始化器
InBlock.gif using System; 
InBlock.gif using System.Data; 
InBlock.gif using System.Configuration; 
InBlock.gif using System.Linq; 
InBlock.gif using System.Web; 
InBlock.gif using System.Web.Security; 
InBlock.gif using System.Web.UI; 
InBlock.gif using System.Web.UI.WebControls; 
InBlock.gif using System.Web.UI.WebControls.WebParts; 
InBlock.gif using System.Web.UI.HtmlControls; 
InBlock.gif using System.Xml.Linq; 
InBlock.gif 
/// <summary> 
/// ObjectInitializers(对象初始化器)的摘要说明 
/// </summary> 
InBlock.gif public  class ObjectInitializers 
InBlock.gif
InBlock.gif         public  int ID { get; set; } 
InBlock.gif         public  string Name { get; set; } 
InBlock.gif 
InBlock.gif         public  void ObjectInitializersTest() 
InBlock.gif        { 
InBlock.gif                ObjectInitializers oi =  new ObjectInitializers { ID = 1, Name =  "webabcd" }; 
InBlock.gif 
InBlock.gif                 // 上面的oi对象(对象初始化器)等同于下面的oi对象 
InBlock.gif 
InBlock.gif                 // ObjectInitializers oi = new ObjectInitializers(); 
InBlock.gif                 // oi.ID = 1; 
InBlock.gif                 // oi.Name = "webabcd"; 
InBlock.gif        } 
InBlock.gif}
 
CollectionInitializers.cs集合初始化器
InBlock.gif using System; 
InBlock.gif using System.Data; 
InBlock.gif using System.Configuration; 
InBlock.gif using System.Linq; 
InBlock.gif using System.Web; 
InBlock.gif using System.Web.Security; 
InBlock.gif using System.Web.UI; 
InBlock.gif using System.Web.UI.WebControls; 
InBlock.gif using System.Web.UI.WebControls.WebParts; 
InBlock.gif using System.Web.UI.HtmlControls; 
InBlock.gif using System.Xml.Linq; 
InBlock.gif 
InBlock.gif using System.Collections.Generic; 
InBlock.gif 
/// <summary> 
/// CollectionInitializers(集合初始化器)的摘要说明 
/// </summary> 
InBlock.gif public  class CollectionInitializers 
InBlock.gif
InBlock.gif         public  int ID { get; set; } 
InBlock.gif         public  string Name { get; set; } 
InBlock.gif 
InBlock.gif         public  void CollectionInitializersTest() 
InBlock.gif        { 
InBlock.gif                List<CollectionInitializers> list =  new List<CollectionInitializers> 
InBlock.gif                { 
InBlock.gif                         new CollectionInitializers { ID = 1, Name =  "webabcd" }, 
InBlock.gif                         new CollectionInitializers { ID = 2, Name =  "webabcdefg" }, 
InBlock.gif                         new CollectionInitializers { ID = 3, Name =  "webabcdefghijklmn" } 
InBlock.gif                }; 
InBlock.gif 
InBlock.gif                 // 上面的list集合(集合初始化器)等同于下面的list集合 
InBlock.gif 
InBlock.gif                 // List<CollectionInitializers> list = new List<CollectionInitializers>(); 
InBlock.gif                 // list.Add(new CollectionInitializers { ID = 1, Name = "webabcd" }); 
InBlock.gif                 // list.Add(new CollectionInitializers { ID = 2, Name = "webabcdefg" }); 
InBlock.gif                 // list.Add(new CollectionInitializers { ID = 3, Name = "webabcdefghijklmn" }); 
InBlock.gif        } 
InBlock.gif}
 
ExtensionMethods.cs扩展方法
InBlock.gif using System; 
InBlock.gif using System.Data; 
InBlock.gif using System.Configuration; 
InBlock.gif using System.Linq; 
InBlock.gif using System.Web; 
InBlock.gif using System.Web.Security; 
InBlock.gif using System.Web.UI; 
InBlock.gif using System.Web.UI.WebControls; 
InBlock.gif using System.Web.UI.WebControls.WebParts; 
InBlock.gif using System.Web.UI.HtmlControls; 
InBlock.gif using System.Xml.Linq; 
InBlock.gif 
/// <summary> 
/// ExtensionMethods 的摘要说明 
/// </summary> 
InBlock.gif public  class ExtensionMethods 
InBlock.gif
InBlock.gif         public  void ExtensionMethodsTest() 
InBlock.gif        { 
InBlock.gif                 string s =  "123"
InBlock.gif                 // 使用string的ToInt32()扩展方法 
InBlock.gif                 int i = s.ToInt32(); 
InBlock.gif                 // i == 123 
InBlock.gif 
InBlock.gif                 string[] ary =  new  string[] {  "a""b""c" }; 
InBlock.gif                 // 使用object的In()扩展方法 
InBlock.gif                 bool b =  "b".In(ary); 
InBlock.gif                 // b == true 
InBlock.gif        } 
InBlock.gif
InBlock.gif 
/// <summary> 
/// 扩展方法(类和方法均为static) 
/// 使用的时候要引用该类的命名空间 
/// </summary> 
InBlock.gif public  static  class MyExtensionMethods 
InBlock.gif
InBlock.gif         // this代表扩展方法应用于string类型上 
InBlock.gif         // ToInt32()是将string类型转换为int类型的扩展方法 
InBlock.gif         public  static  int ToInt32( this  string s) 
InBlock.gif        { 
InBlock.gif                 int i; 
InBlock.gif                Int32.TryParse(s,  out i); 
InBlock.gif 
InBlock.gif                 return i; 
InBlock.gif        } 
InBlock.gif 
InBlock.gif         // this代表扩展方法应用于object类型上 
InBlock.gif         // 该扩展方法需要一个类型为System.Collections.IEnumerable的参数 
InBlock.gif         // In()是判断一个object是否存在于一个System.Collections.IEnumerable中的扩展方法 
InBlock.gif         public  static  bool In( this  object o, System.Collections.IEnumerable e) 
InBlock.gif        { 
InBlock.gif                 foreach ( object i  in e) 
InBlock.gif                { 
InBlock.gif                         if (i.Equals(o)) 
InBlock.gif                        { 
InBlock.gif                                 return  true
InBlock.gif                        } 
InBlock.gif                } 
InBlock.gif 
InBlock.gif                 return  false
InBlock.gif        } 
InBlock.gif}
 
 



     本文转自webabcd 51CTO博客,原文链接: http://blog.51cto.com/webabcd/344909 ,如需转载请自行联系原作者

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值