C#语言语法讲座-更新到C#3.0特性

C#语言语法讲座-更新到C#3.0特性

C#3.0特性

l匿名类型,类,方法

如果只用一次,尽量使用匿名,避免冲突

var obj = new { name = ”zhangxx” , age = 30};

Console.WriteLine(obj.name);

l自动属性和类的快速初始化

public class EmployeeItem{

public string EmpID{get;set;}

public string EmpName{get;set;}

}

EmployeeItem ei = new EmployeeItem{EmpID=”002”,EmpName=”Hu”}; // C#3.0

l拓展方法

public static class Suibian{

public static String Talk(this String h){

return “hello string”;

}

}

调用方法

string testString = “”.Talk();

//结果为hello string

注:当拓展方法与原类方法同名时默认使用原类的方法。

l数据结构和算法

引入Linq来处理内存的数据

Linq2Object像SQL一样处理结合类数据(包含枚举类型的数据)

老的做法是:用SQL读取出来,要汇总也要先汇总。微软想用SQL那样成熟的方法来操作数据,用的是C#的语法。

Int[] arr1 = {12 , 3 , 6 , 4 , 90 , 96 , 56};

string testString = from a in arr1

where panduan(a)

order by descending

select a;

private bool panduan(int a){

//此处做判断

return a%3 == 0;

}

Linq拓展// Lambda表达式

string testString = arr1.Where(x=> x>10);

//结果为12,90,96,56

string testString = arr1.Where(x=> x>10).OrderByDescending(y=> y);

//结果为96,90, 56,12

//点号后面还有很多方法,可以去学习。

Int[] arr1 = {12 , 3 , 6 , 4 , 90 , 96 , 56};

Int[] arr2 = {-1 , -2 , 12 , 3 , 6 };

string testString = arr1.Except(arr2);

//结果为4,90,96,56

C#+第一讲.zip

c#中级编程扩展1.exe.zip

你可能感兴趣的:(C#语言语法讲座-更新到C#3.0特性)