zoukankan      html  css  js  c++  java
  • C#介绍

    C#是微软推出的一种基于.NET框架的、面向对象的高级编程语言。
    C#以.NET框架类库作为基础,拥有类似Visual Basic的快速开发能力。
    C#由安德斯·海尔斯伯格主持开发,微软在2000年发布了这种语言,希望借助这种语言来取代Java。
    C#已经成为Ecma国际和国际标准组织的标准规范。

    C#的发音为“C sharp”,“#”读作“sharp”(/ʃɑːp/),
    命名启发于音乐上的音名“C♯”,在音乐中“C♯”表示C升半音,为比C高一点的音节,且“#”形似4个加号,
    微软借助这样的命名,表示C#在一些语言特性方面对C++的提升的意思。

    由于显示器(标准字体、浏览器等)的技术限制,且大部分的键盘布局上不存在升记号(♯),
    所以井号(#)被用于此编程语言的名称中,约定在ECMA-334 C#语言规范中。

    设计目标

    ECMA标准列出的C#设计目标:

    1.C#旨在设计成为一种“简单、现代、通用”,以及面向对象的程序设计语言
    2.此种语言的实现,应提供对于以下软件工程要素的支持:强类型检查、数组维度检查、未初始化的变量引用检测、自动垃圾收集(Garbage Collection,指一种存储器自动释放技术)。
    软件必须做到强大、持久,并具有较强的编程生产力。
    3.此种语言为在分布式环境中的开发提供适用的组件开发应用。
    4.为使程序员容易迁移到这种语言,源代码的可移植性十分重要,尤其是对于那些已熟悉C和C++的程序员而言。
    5.对国际化的支持非常重要。
    6.C#适合为独立和嵌入式的系统编写程序,从使用复杂操作系统的大型系统到特定应用的小型系统均适用。
    7.虽然C#程序在存储和操作能力需求方面具备经济性,但此种语言在某些情况下并不能在性能和程序大小方面与C语言相抗衡。

    历史
    原Borland公司的首席研发设计师安德斯·海尔斯伯格(Anders Hejlsberg)在微软开发了Visual J++ 1.0,很快的Visual J++由1.1版本升级到6.0版。
    SUN公司认为Visual J++ 违反了Java开发平台的中立性,对微软提出了诉讼。
    2000年6月26日微软在奥兰多举行的“职业开发人员技术大会”(PDC 2000)上,发表新的语言C#。
    C#语言取代了Visual J++,语言本身深受Visual Basic、Java、C和C++ 的影响。

    版本 语言规格 日期 .NET框架的版本 Visual Studio的版本
    ECMA ISO/IEC Microsoft
    C# 1.0 2002年12月 2003年4月 2002年1月 2002年1月 .NET Framework 1.0 Visual Studio .NET 2002
    C# 1.1
    C# 1.2
    2003年10月 2003年4月 .NET Framework 1.1英语.NET Framework 1.1 Visual Studio .NET 2003
    C# 2.0 2006年6月 2006年9月 2005年9月 2005年11月 .NET Framework 2.0 Visual Studio 2005
    C# 3.0 2007年8月 2007年11月

    .NET Framework 2.0 (Except LINQ)
    .NET Framework 3.0 (Except LINQ)
    .NET Framework 3.5

    Visual Studio 2008
    Visual Studio 2010
    C# 4.0 2010年4月 2010年4月 .NET Framework 4 Visual Studio 2010
    C# 5.0 2017年12月 2013年6月 2012年8月 .NET Framework 4.5 Visual Studio 2012
    Visual Studio 2013
    C# 6.0 草案 2015年7月 .NET Framework 4.6 Visual Studio 2015
    C# 7.0 2017年3月 .NET Framework 4.6.2 Visual Studio 2017
    C# 7.1 2017年8月 .NET Framework 4.7英语.NET Framework 4.7 Visual Studio 2017 version 15.3 
    C# 7.2 2017年11月 .NET Framework 4.7.1 Visual Studio 2017 version 15.5 
    C# 7.3 2018年5月 .NET Framework 4.7.2 Visual Studio 2017 version 15.7 

    语言特性
    相对于C和C++,这个语言在许多方面进行了限制和增强:

    1指针(Pointer)只能用于不安全模式之中。大多数对象访问通过安全的引用实现,以避免无效的调用,并且有许多算法用于验证溢出,指针只能用于调用值类型,以及受垃圾收集控制的托管对象。
    2对象不能被显式释放,代替为当不存在被引用时通过垃圾回收器回收。
    3只允许单一继承(single inheritance),但是一个类可以实现多个接口(interfaces)。
    4C#比C++更加类型安全。默认的安全转换是隐含转换,例如由短整型转换为长整型和从派生类转换为基类。而接口布尔型同整型,及枚举型同整型不允许隐含转换,非空指针(通过引用相似对象)同用户定义类型的隐含转换字段被显式的确定,不同于C++的复制构造函数。
    5数组声明语法不同("int[] a = new int[5]"而不是"int a[5]")。
    6枚举位于其所在的名字空间中。
    7C#中没有模版(Template),但是在C# 2.0中引入了泛型(Generic programming),并且支持一些C++模版不支持的特性。比如泛型参数中的类型约束。另一方面,表达式不能像C++模版中被用于类型参数。
    8属性支持,使用类似访问成员的方式调用。
    9完整的反射支持。

  • 相关阅读:
    POJ1034 The dog task
    POJ1033 Defragment
    POJ1032 Parliament
    POJ1031 Fence
    POJ1030 Rating
    POJ1029 False coin
    伪元素的使用
    伪元素选择器:before 以及 :after
    jquery html() 和text()的用法
    用CSS绘制三角形
  • 原文地址:https://www.cnblogs.com/sunbingqiang/p/11146954.html
Copyright © 2011-2022 走看看