對象的初始化
在C#中,對 象的初始化也做了一些改進。一個新的功能就是提供了更方便的語法規則來聲明 變量的值。
假如我們聲明一個Student對象:
public class Student
{
private string _stuName;
private string _stuAge;
private int _stuClass;
public Student() { }
public string StuName
{
get { return _stuName; }
set { _stuName = value; }
}
public string StuAge
{
get { return _stuAge; }
set { _stuAge = value; }
}
public int StuClass
{
get { return _stuClass; }
set { _stuClass = value; }
}
}
在C#2.0中,我們是這樣 聲明變量並賦值的:
Student stu = new Student();
stu.StuName = "Brian";
stu.StuAge = "21";
stu.StuClass = "1班";
而在C#3.0中,我們可以這樣初始化對象:
Student stu2 = new Student
{
StuName = "Brian",
StuAge = "21",
StuClass = "1班"
};
從代碼中不難看出 ,C#3.0給我們提供了很方便得方式來進行對象的初始化工作。
查詢
這個想必大家都應該有所耳聞,那就是鼎鼎大名的Linq。這是C#3.0中最 獨特好用的新特性之一。Linq改變了我們寫數據應用程序的方式,先前,開發人 員需要考慮並編寫不用的代碼來處理不同數據源中的數據(SQL Server ,XML ,Memory....)。LINQ很好的幫我們解決了這個煩人的問題。同時借助Lambda, 我們可以更方便准確的查詢我們想要的數據。
使用Linq簡單的數據查詢 例子:
private void BindGridVIEw(string criteria)
{
string strConn = ConfigurationManager.ConnectionStrings ["connstr"].ConnectionString;
NorthwindDb db = new NorthwindDb(strConn);
IEnumerable<Employee> results;
if (criteria == string.Empty)
{
results=db.Employee.ToArray();
}
else
{
results = (from c in db.Employee
where c.FirstName.Contains(criteria)
select c).ToArray();
}
GridVIEw1.DataSource = results;
GridVIEw1.DataBind();
}