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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,793评论 0 33
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,281评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,874评论 18 399
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile丽语阅读 3,879评论 0 6
  • 常记溪亭日暮,沉醉不知归路。 兴尽晚回舟,误入藕花深处。 争渡,争渡,惊起一滩鸥鹭。 【宋】李清照《如梦令》 寄禅...
    刘伟书法_沈阳阅读 373评论 0 3