北大青鸟光谷校区

北大青鸟光谷校区

  • 北大青鸟鲁广校区
  • 北大青鸟光谷校区
  • 北大青鸟宏鹏IT校区
  • 荆州青鸟之家
  • 襄阳青鸟之家

17740513250

百日千才

北大青鸟C#技术 C#的一些基础知识

2013-04-23 13:50:41来源:武汉北大青鸟光谷校区作者:北大青鸟鲁广北校区

  北大青鸟C#技术:C#的一些基础知识。

       近在看大学的一些技术文档,其中有一个PPT是讲的C# 的一些基础知识,做一整理,以后可以温习。

  一、自动属性

  普通类:

  View Code

  class Person

  {

  private string firstName;

  private string lastName;

  private int id;

  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; }

  }

  public int ID

  {

  set { id= value; }

  }

  } 使用自动属性的类:

  View Code

  class Person

  {

  private int id;

  private int age;

  public string FirstName

  {

  get;

  set;

  }

  public string LastName

  {

  get ;

  set ;

  }

  public int Age

  {

  get { return age; }

  }

  public int ID

  {

  set { id= value; }

  }

  } 自动属性的典型适用场合:在属性代码中只包含基本的赋值取值功能简单的实体类

  对于自动属性,这里不多说神马,主要是有几个要注意的地方:

  1. 自动属性不能实现只读或者是只写属性。

  2. 因为没有声明私有变量,在使用自动属性时只能直接使用属性进行引用。

  二、对象初始化器及集合初始化器

  先看下对象初始化器,

  //传统的初始化对象及赋值

  Person lincoln = new Person();

  lincoln.FirstName = "Lincoln";

  lincoln.LastName = "Burrows";

  lincoln.Age = 30;

  //使用对象初始化器

  Person scofield = new Person

  {

  FirstName = "Michael",

  LastName = "Scofield",

  Age = 20

  }; 要说明的是对象初始化器是可嵌套的,即对一个对象初始化的时候可以内嵌另一个类的对象,如下面的Person对象中内嵌了Address对象:

  //可嵌套的对象初始化器

  Person tbag = new Person

  {

  FirstName = "Theodore ",

  LastName = "Bagwell",

  Age = 32,

  Address = new Address

  {

  Street = "Prison SONA",

  Country = "Panama"

  }

  }; 集合初始化器和对象初始化器相同:

  View Code

  //传统的方式

  List foxRiver8 = new List();

  foxRiver8.Add("Michael");

  foxRiver8.Add("Lincoln");

  foxRiver8.Add("Sucre");

  foxRiver8.Add("Abruzzi");

  //使用集合初始化器

  List foxRiver8 = new List{

  "Michael",

  "Lincoln",

  "Sucre",

  "Abruzzi",

  };

        三、扩展方法

  相先来看一个例子:

  View Code

  string sqlStr = "SELECT * FROM table_A WHERE ID = 1";

  sqlStr.ExcuteSql();

  Class Utilily

  {

  public static void ExcuteSql(this string str)

  {

  Console.WriteLine(str + " 这个扩展方法输出的字符串");

  }

  } 这里只是一个简单的对字符串进行扩展,使每个字符串类型都有了一个ExcuteSql方法,当然你也可以对其他类型进行扩展。

  扩展方法的语法:

  不带参数的扩展方法: static 方法名 (this 目标类型 参数名)

  带参数的扩展方法: static 方法名 (this 目标类型 参数名,参数类型1 参数名1,… … )

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

  1. 扩展方法允许我们对已存在类型的行为进行扩展

  2. 扩展方法是一种特殊的静态方法

  3. 扩展方法必须在静态类中定义

  4. 扩展方法的优先级低于同名的类方法

  5. 扩展方法只在特定的命名空间内有效

  6. 除非必须不要滥用扩展方法

         想了解更多关于C#技术请继续关注武汉北大青鸟官网。

关闭

只为了方便您就学 北大青鸟光谷校区 北大青鸟光谷校区

武汉市江夏区庙山街道华泰街16号(北大青鸟综合大楼)

Copyright (c) 2006-2024 武汉宏鹏教育咨询有限公司 版权所有 All Rights Reserved.