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#技术请继续关注武汉北大青鸟官网。
Copyright (c) 2006-2024 武汉宏鹏教育咨询有限公司 版权所有 All Rights Reserved.