1.C#语言发展史

1.C#语言发展史

本部分简单介绍从C#1到C#5各个版本的语言新特性,

1.简单的数据类型

我们先使用C#1编写一个Product类,如下图所示

C#2 中的强类型集合(泛型)

C#3 自动实现属性和简化初始化

C#4 命名参数

以上就是Product类从C#1到C#4的演变历程总结如下:

2.排序和过滤

排序功能

下面我们将使用按名称对Product对象进行排序,来展示对排序的改进。

C#1中的排序

C#2 中的排序(引入了泛型)

C# 3中的排序(Lambda表达式)

下面总结一下在排序的过程中C#1-C#3过程中的演变历程

3.列表查询

下面要展示的是查询出Product列表中price>250的所有商品

C#1的查询

C#1中存在问题:C#1 中存在强制类型转换,使用if循环判断

C#2中的查询(引入泛型避免强制类型转换)

使用if判断不专业,C#2中可以使用委托,并且将打印和查询分开

在将上面的代码进行优化,如下所示,但是委托看起来依然很繁琐

C#3 使用Lamdba表达式进行优化

总结

4.处理未知数据

可空类型

处理未知数据的场景:如果在数据库中Product类中的price对象值可以为null,但是在对象中它是值类型,值类型不能为null。

在C#1中处理方式有三种:

1.围绕decimal创建一个引用类型的包装器

2.维护一个bool类型值,表示他是否为null

3.使用"魔数"来表示一个未知的价格

C#2中使用.Net 2.0提供的 可空类型 Nullable<T>结构,并提供语法糖简化工作

readonly decimal? price;

可选参数和默认值

在C#1、C#2、C#3中如果不想对外提供所有的方法参数就必须使用方法的重载。

但是在C#4中引入了 "可选参数"

5.Linq简介

Linq是C#3的核心,Linq是关于查询的,其目的是使用一致的语法和特性,以一种易阅读、可组合的方式,使对多数据源的查询变得简单。

查询表达式

数据源为对象的List

例如:查询单价大于100的商品名称和供货商名称

Var是在程序编译时根据结果推断所需的类型,类型推断

查询xml

数据源为xml文件

Linq to Sql

数据源为数据库时其写法类似于基于对象的list,以后再详细讲解。

6.com和动态类型

C#4 中最为重要的是互操作,其中包括两大主题对旧的com技术的处理和映入dynamic

com:Component Object Model,C#4中简化Com互操作,支持索引器

动态类型dynamic:一个新的类型,对于C#编译器是一个类型,CLR根本不识别,用于更动态语言进行交互。

7.异步代码

C#5的的特性:异步函数,可以使用异步函数来中断代码的执行,而不阻塞线程。

async: async 其实就是一个标记,标记这个方法是异步方法。当方法被标记为一个异步方法时,那么其方法中必须要使用await关键字。

await:

8..net平台简介

时间: 2024-10-11 07:41:56

1.C#语言发展史的相关文章

Java语言发展史

学编程吧Java语言发展史发布了,欢迎通过http://xuebiancheng8.com/course/goodgoodstudy_1_daydayup.html来访问. java占据编程语言数一数二的市场份额,为什么这么说的,总之不是第一就是第二.经常是第一,偶尔是第二. 现在不论是web开发领域还是再android开发领域,java都是无可争议的王者.国内基本上主流的互联网网站用java的多,也有用php的,像百度,新浪,sohu这些.剩下的纳斯达克上市的基本都是用java.java有着骄

Java 语言的发展史

维基百科引入 早期的Java 语言最开始只是Sun计算机(Sun MicroSystems)公司在1990年12月开始研究的一个内部项目.Sun计算机公司的一个叫做帕特里克·诺顿的工程师被公司自己开发的C++和C语言编译器搞得焦头烂额,因为其中的API极其难用.帕特里克决定改用NeXT,同时他也获得了研究公司的一个叫做“Stealth计划”的项目的机会. “Stealth计划”后来改名为“Green计划”,詹姆斯·高斯林和麦克·舍林丹(Mike Sheridan)也加入了帕特里克的工作小组.他们

c语言章节11

本文目录 一.计算机常识 二.程序设计语言发展史 三.C语言简史 四.C语言的特点 五.C语言的作用 六.C语言的版本问题 前面已经给大家介绍了iOS开发相关的一些基础知识,比如学习iOS开发需要什么准备.iOS开发的前景等等.在<开篇>这讲中说过:其实iOS开发就是开发iPhone\iPad上的软件,而要想开发一款软件,首先要学习程序设计语言.iOS开发需要学习的主要程序设计语言有:C语言.C++.Objective-C,其中C++.Objective-C都是以C语言为基础,从C语言衍生出来

再从交流工具的发展史来看怎么说明白一件事?

我的微博号:小薇子多一多,期望和你成为好朋友. 之前写过媒介,社交产品,但是其实都是讲的交流工具,以及这个交流工具的发展史对我们的影响(这个可以看<娱乐至死>书和我公众号weitalks的历史文章). 交流工具?你怎么理解?不管是声音,动作/表情,印刷文字,图像,视频,动漫,直播,VR等,其实本质就是用于交流的工具--语言. 那有没有发现这个语言发展史有什么共同的规律?刚好这几天在研究语言学和逻辑学,他们有个很重要的课题就是概念.再结合语言学和逻辑学,发现之前没有的一个共同的规律,那就是概念从

李洪强iOS开发之零基础学习iOS开发】【02-C语言】01-概述

前面已经给大家介绍了iOS开发相关的一些基础知识,其实iOS开发就是开发iPhone\iPad上的软件,而要想开发一款软件,首先要学习程序设计语言.iOS开发需要学习的主要程序设计语言有:C语言.C++.Objective-C,其中C++.Objective-C都是以C语言为基础,从C语言衍生出来的.从这讲开始,我们就暂时抛开iOS相关的知识,沉下心来学习传说中的C语言.正式学习之前,先提醒一句:学习一门语言的语法是比较枯燥的事,很像是在学习1+1等于几,不可能说,学习C语言语法过程中就能马上做

最适合自学的C语言基础视频教程

视频介绍: 1. 随着目前热门的云计算.物联网.移动互联网.智能家居.虚拟世界等信息技术的高速发展,C语言也发挥着越来越重要的作用.现在C语言开发人才紧俏,学好C语言,相信您会有个可以期待的美好未来. 2. 此套C语言视频为最全面的教程,理论结合大量的案例将知识点和实际工作紧密的结合到一起,.课程循序渐进.深入浅出,涉及到所有的知识点.将视频从头认真学到尾,您就可以彻底的掌握C语言开发的精髓. 3. 此套C语言视频为含金量最高的教程,无论你是初学者,自学者,还是有数年编程经验的高手,此套教程都将

Day01_JAVA语言基础第一天

1.计算机基础知识(理解) 1.计算机硬件 软件的基础设施,就是载体,计算机的硬件由五大组成部件:运算器,控制器,存储器,输入设备和输出设备 2.计算机软件 系统软件:windows,MAC,LINUX,安卓,IOS,塞班 应用软件:QQ YY 陌陌 3.软件开发 软件:数据和指令的集合 开发:软件的制作过程 软件开发:用开发工具和计算机语言做出软件就是软件开发 4.计算机语言 人与计算机的交流的一种特殊语言                   机器语言,汇编语言,高级语言 5.人机交互 就是人

【零基础学习iOS开发】【02-C语言】01-概述

本文目录 一.计算机常识 二.程序设计语言发展史 三.C语言简史 四.C语言的特点 五.C语言的作用 六.C语言的版本问题 前面已经给大家介绍了iOS开发相关的一些基础知识,比如学习iOS开发需要什么准备.iOS开发的前景等等.在<开篇>这讲中说过:其实iOS开发就是开发iPhone\iPad上的软件,而要想开发一款软件,首先要学习程序设计语言.iOS开发需要学习的主要程序设计语言有:C语言.C++.Objective-C,其中C++.Objective-C都是以C语言为基础,从C语言衍生出来

J1. Java程序设计语言概述

如果对于开发语言的排行榜有所关注的话,那么会发现很长一段时间以来Java都是位居榜首的高级开发语言,作为一个Java开发者,为此感到骄傲的同时也深感忧虑,骄傲的是自己接触的开发语言是如此的强大,忧虑的是万一哪一天Java市场占有率不再,那我们何去何从呢?不过这都是杞人忧天了,在Java没落之前我们应该先将Java搞清楚才对,然后由此深入了解计算机的世界,对于Java程序设计语言,我们主要通过几方面来学习:语言的历史,语言的基本构成,面向对象,字符串与数字,常见的工具类,集合,IO,多线程等. 今