NET技术现状及发展趋势知识讲解

上传人:yulij****0329 文档编号:141373776 上传时间:2020-08-07 格式:PPT 页数:40 大小:661.50KB
返回 下载 相关 举报
NET技术现状及发展趋势知识讲解_第1页
第1页 / 共40页
NET技术现状及发展趋势知识讲解_第2页
第2页 / 共40页
NET技术现状及发展趋势知识讲解_第3页
第3页 / 共40页
NET技术现状及发展趋势知识讲解_第4页
第4页 / 共40页
NET技术现状及发展趋势知识讲解_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《NET技术现状及发展趋势知识讲解》由会员分享,可在线阅读,更多相关《NET技术现状及发展趋势知识讲解(40页珍藏版)》请在金锄头文库上搜索。

1、.NET 技术现状及发展趋势,主讲:徐铁鲁,开篇,自我介绍 姓名:徐铁鲁 邮箱: 关于题目 关于这次演讲 以一个故事开始.,Anders Hejlsberg,安德斯海尔斯伯格(1960.11),丹麦人,Turbo Pascal编译器的主要作者,Delphi和.NET之父。,目前国内软件行业现状,开发模式以Web应用程序为主 95%的系统软件是基于WEB的B/S架构 B/S:Browser/Server 传统的C/S架构日渐没落 C/S: Client/Server,目前国内软件行业现状,各种开发语言使用率 C、C+语言:使用率10%以下 VB:5%以下。据说即将被淘汰 JAVA:40% C#:

2、40% 其他语言:5%,目前国内软件行业现状,2010年开发语言市场分额全球排名,目前国内软件行业现状,最近十年,排名前十位的主流语言市场分额变化曲线,目前国内软件行业现状,使用率上升最快的开发语言C# 2002年3月第一个版本,当年上半年使用率不足2% 2002年下半年使用率升到10% 2003年上升到16% 2004年上升到25% 2005年上升到30% 到目前为止,全球超过400多万的开发者,在使用 VS,目前国内软件行业现状,C#语言使用率上升如此之快的原因? 原中国网通的互联星空收费平台使用C#开发。 中国联通的手机短信平台使用C#开发 中国小灵通短信平台使用C#开发 中石化、鞍钢E

3、RP使用C#开发 用友的财务软件使用C#开发 联想的防火墙管理系统使用C#开发 . 全世界的软件开发公司都在积极的使用.net平台和C#开发语言.,使用C#我们能做什么?,Web应用程序B/S 网站和各种基于浏览器的管理系统 Wap应用程序 无线网络程序和无线网站 客户端程序C/S 如图书馆系统,超市售货系统等 游戏 3D游戏 2D游戏 网络游戏 游戏客户端,C#的设计目标:,C#旨在设计成一种简单、现代、通用和面向对象的编程语言 C#支持以下软件工程原则:强类型检查、数组边界检查、未初始化变量引用检查和自动垃圾收集,以及软件健壮性、持久性和高编程效率 C#设计为开发可在分布式环境中部署的组件

4、 源代码可移植,并支持C和C+程序员很容易的迁移到C# 支持国际化 支持在独立的或嵌入式系统环境中编程,从非常复杂的大型操作系统到功能有限的小型系统都支持 尽管C#程序在内存和处理能力等需求上有一定的经济性,但并不确保具有C或汇编语言一样的性能,CLR(Common Language Runtime 公共语言运行时),微软学习了JAVA的做法,将虚拟机的概念引入到COM领域;这种COM虚拟机最后定名为CLR. 同时,微软提出了在该运行时上运作的语言应该遵守的一些规则,以及该虚拟机的类型系统和指令集。所有的这些规范形成了最终的CLI(Common Language Infrastructure,

5、公共语言基础设施 )。 微软开发了CLI的一个实现,这就是大名鼎鼎的.NET,C#1.0 纯粹的面向对象,2002年2月微软推出了VS.NET 2002 C#1.0 2003年5月微软推出了VS.NET 2003 C#1.1,C#2.0泛型编程,using System.Collections.Generic; C# 2.0为开发者带来的最主要的特性就是泛型编程能力。和面向对象思想一样,泛型思想也是一种已经成熟的编程思想,但依然是没有哪一种主流开发语言能够支持完备的泛型概念。这主要是因为泛型的概念在一定程度上对面向对象概念进行冲击,同时,由于在编译期间对类型参数的完全检测很难做到,很多问题会被

6、遗留到运行时。C# 2.0别出心裁,对泛型类型参数提出了“约束”的新概念,并以优雅的语法体现在语言之中。有了约束,结合编译器强大的类型推断能力,可以在编译时发现几乎所有“危险”的泛型应用。,C#3.5,从C#1.0到C#2.0,再至今日的令人心动的C#3.5,我们一次次的为Windows平台下的编程感慨-越来越方便的操作,越来越强大的功能,越来越简洁的代码使得由代码组成的编程世界中平添的许多色彩与欢乐。,我们爱她的暧昧:var关键字(专门为LINQ 设计),string words = “apple”, “strwawberry”, “grape”, “peach”, “banana” ,go

7、odby; var wordQuery = from word in words where word0 = g select word; foreach (string s in wordQuery) Console.WriteLine(s); ,我们喜欢它纤细的身材-自动属性(Automatic Properties),public class Person public string Nameget;set; /自动实现属性 public int Ageget;set;/应用 Person person = new Person(); person.Name = “张三”; person

8、.Age = 20; System.Console.Write(姓名:0,年龄:1,person.Name,person.Age);,奇怪的=符号-lambda表达式,更激动人心的,是一种匿名函数结构,它可以方便的实现委托、查询综合和扩展方法的 delegate 类型参数的初始化定义. delegate int del(int i); static void Main(string args) del myDelegate = x = x * x; int j = myDelegate(5); Console.Write(j); Lambda 运算符=,意思为移至。Lambda 运算符的左边会

9、指定输入参数 (如果存在),右边則包含运算式或陈述区块。Lambda 运算式 x = x * x 的意思是x 移至 x 乘以 x。,为我们对她的爱插上自由的翅膀-扩展方法,extension(允许您扩充任何类,甚至是标记为封装的类,对于扩展的方法必须在静态类里来扩展)示例,在string上实现Count()方法: using System.Runtime.CompilerService;public class Extensions Extension() public int Count(this string source) int count = 0; foreach (var item

10、 in source) count+; return count; /使用:string s=Hello,world!;int i=s.Count();,令人心动的LINQ-语言集成查询(Language Integerated Query),您想过在代码中不写SQL语句就实现对数据库的操作么? LINQ to SQL 是O/RM(对象关系映射)在.NET Framework(Visual Studio 2008)中的一种实现,它允许你用.NET 的类来生成一个关系型的数据库。然后你可以用LINQ对数据库进行查询、更新、插入、删除操作。 LINQ to SQL完全支持事务,视图和存储过程。它还

11、提供了一种方便地在你的数据模型中对集合数据验证和业务逻辑规则的进行验证的方法。 它的基本语法from in.select是显得如此优雅,令我不得不为其用如此简洁的代码实现我们以往需要写数行甚至数十行才能够实现的功能感到兴奋。 ,C#4.0,2010年4月12日,微软向全球发布了 VS.NET 2010 (Coding 完美世界),闪耀着中国智慧的光芒,微软中国上海团队600多人参与了VS2010的开发,其中100多人做的是核心架构部分。,支持多屏幕显示,支持多屏幕显示,操作更加方便。方便用户屏幕间操作,支持云计算,全方位的用户体验 弹性的计算资源 可信的数据源,新关键词 dynamic,在新版

12、本的C#中,dynamic关键词是一个很重要的新特性,现在你可以创建动态对象并在运行时再决定它的类型。而且.net 4.0为CLR加入了一组为动态语言服务的运行时环境,称为DLR(Dynamic Language Runtime动态语言运行时),这使得C#这种静态类型语言可以在 .NET Framework 中开发动态语言并为与其它动态语言提供互操作性了。DLR架构见下图:,一个例子:,dynamic dyn = 1; Console.WriteLine(dyn.GetType(); dyn = 1.234; Console.WriteLine(dyn.GetType(); dyn = ojl

13、ovecd; Console.WriteLine(dyn.GetType();/*输出:System.Int32System.DoubleSystem.String*/,可选(或默认)参数,在C#1.0就已经有很多人提过,但直到4.0才有。现在你可以在方法定义的时候为参数指定一个默认值。调用方法的时候既可以像平时那样传 入参数,也可以直接跳过不传入,这样的话,就使用默认值传到方法里。 static void Main(string args) TestMethod(); TestMethod(3); static void TestMethod(int i = 10) Console.Writ

14、eLine(i); ,命名参数,在之前版本的C# 中,方法定义的参数顺序必须与方法调用时的参数顺序一致,即方法Method(int i, string s)调用时就必须第一个传入int,第二个传入string,而现在,这个规矩可以被打破了。你可以自己随便什么顺序传入,这也在一定程度上提高了代码的 可读性。 static void Main(string args) TestMethod2(s: ojlovecd, i: 26); static void TestMethod2(int i, string s) Console.WriteLine(i:0,s:1, i, s); ,提高COM的互

15、操作性,以后不用再写如下丑陋的代码: C# code var excelApp = new Excel.Application();/ . . .excelApp.get_Range(A1, B4).AutoFormat( Excel.XlRangeAutoFormat.xlRangeAutoFormatTable3, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); 现在只需这么写就搞定了: C# code excelApp.RangeA1, B3.AutoFormat(

16、Excel.XlRangeAutoFormat.xlRangeAutoFormatClassic2);,C#的前途?,在这个世界上,没有什么比编程工具更能牵动程序员的心。一门好的编程语言几乎成了我们的信仰。 C#是这个星球上有史以来最好的编程语言 C#的弱点:微软没有提供其他平台上的官方支持。所以没能真正实现跨平台,还想说几个问题,1.编写高质量的代码,1、不要硬编string/ numeric,可以使用一些常量代替。 (提高可读性) int Count;Count = 100;private static const int ZERO = 0;if( Count = ZERO )/ 执行一些操作,2.编写高质量的代码,2.程序代码: String temp = String.Empty;for( int i = 0 ; i= 100; i+) temp += i.ToStrin

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号