轻松学习C#的基础入门

C#是一种简单的,安全的,稳定的,由C和C++衍生出来的面向对象的编程语言,它在继承C和C++强大功能的同时,去掉了它们的一些复杂性,综合了Visual Studio简单的可视化操作和C++高效的运行效率,以其强大的操作能力,独特的语法风格,创新的语言特性,便捷的面向组件编程的支持,使其成为.NET开发的首选语言,并成为ECMA和ISO的标准规范。
       C#和Java有着惊人的相似,主要包括诸如单一继承,接口,与Java几乎同样的语法和编译成中间代码在运行的过程。但是C#和Java有着明显的区别,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而它是.NET Windows 网络框架的主角。
       使用C#语言,用户可以创建传统的Windows客户端应用程序,XML Web Services,分布式组件,客户端应用程序,服务器应用程序和数据库应用程序等。
        C#语法表现能力强,而且简单易学。C#的大括号语法使熟悉C,C++或Java的人可以立即上手。C#语法提供了很多强大的功能,例如null的值类型,枚举,委托,lambda表达式直接内存访问,这些都是Java语言所不具备的。C#支持泛型方法和类型,提供了更出色的类型安全和性能。C#还提供了迭代器,允许集合类的实施者定义自定义的迭代行为,以便容易被客户端代码使用。在C#3.0,语言集成查询(LINQ)表达式使强类型查询成为一流的语言构造。
        作为一种面向对象的语言,C#支持封装,继承和多态性。所有的变量和方法,可以实现任意数量的借口。重写父类中虚方法的各种方法要求override关键字作为一种避免意外重定义的翻方式。在C#中,结构类似于一个轻量类,是一种堆栈分配的类型,可以实现接口,但不支持继承。
        除了这些基本的面向对象的原理外,C#还通过几种创新的语言构造简化了软件组件的开发:

  • 1、封装的方法签名(称为“委托”)。实现了类型安全的事件通知。
  • 2、属性,充当私有成员变量的访问器。
  • 3、属性,提供了关于运行时类型的声明性元数据。
  • 4、内联XML文档注释。
  • 5、语言集成查询(LINQ),提供跨各种数据源的内置查询功能。

在C#中,如果必须与其他Windows软件(如COM对象或本机Win 32 DLL)交互,则可以通过一个称为“互操作”的过程来实现。互操作使C#程序能够完成本机C++应用程序可以完成的下,C#甚至支持指针和“不安全”代码的实现。
       C#生成过程比C和C++简单,比Java灵活,它没有单独的头文件,也不要求按照特定的顺序声明方法和类型,同时还可以定义任意数量的类,结构,接口和事件。
        C#独有的特点:

1、中间代码。
        2、命名空间中的声明。当创建一个程序时,在一个命名空间里创建了一个或多个类,同时在这个命名空间里(在类的外面)可能还有声明接口,枚举类型和结构体等。这时必须使用using关键字来引用其他命名空间的内容。
        3、基本数据类型,C#拥有比C,C++或者Java更广泛的数据类型。这些数据类型是bool,byte,ubyte,short,ushort,int, uint, long ,float, double和decimal。
        4、两个基本类,一个名叫objict的类是所有其他类的基类,而一个名类叫string的类同object一样,是这个语言的一部分。
        5、参数传递。方法可以被声明为接受可变数目的参数。默认的参数传递方法是对基本数据类型进行值传递。ref关键字可以用来使一个变量通过引用传递接受一个返回值,out关键字可以声明引用传递的过程。与ref不同的是,out关键字可指明某个参数不需要初始值。
        6、与COM的集成。C#对Windows程序最大的特点可能就是它与COM的无缝集成,COM就是微软的Win32组件技术。C#编写的类可以子类化一个已存在的COM组件,生成的类可能被作为一个COM组件使用。
        7、索引下标。使用索引不是使用属性名来引用类成员,而是用哟个方括号中的数字来匿名引用(就像用数组下标一样)。
        8、代理和反馈。一个代理对象包括了访问一个特定对象的特定方法所需要的信息。代理对象可以被移动到另一个地方,然后可以通过访问它来对已存在的方法进行类型安全的调用。一个反馈方法就是代理的特例。event关键字用在将在事件发生的时候被当成代理调用的方法声明。
       C#语言所支持的程序开发:

1、支持DOS程序(控制台应用程序)
  2、支持桌面Windows窗体应用程序
  3、支持游戏游戏程序的开发
  4、支持Web程序的开发(教务管理系统,图书馆查询系统,服务器服务程序等)
  5、支持手机应用程序的开发(嵌入式系统等)
  6、支持ASP.NET应用程序的开发。

以上就是学习C#的入门知识点汇总,希望对大家学习C#程序设计有所帮助。

(0)

相关推荐

  • 轻松学习C#的预定义数据类型

    C#的预定义数据类型包括两种,一种是值类型,一种是引用类型.值类型的变量在内存中是存储在堆栈中的,字面上理解就是直接保存其值,如声明一个属于值类型的整型变量,并给它赋予另一个整型变量的值,则在内存中事先复制一个整型变量的值,然后将其赋予刚刚声明的整型变量,这时内存中就会有两个整型值.引用类型的变量在内存中是直接保存其值的引用.C#语言中大多数复杂数据类型都是引用类型.        先来一个值类型的常量的例子        根据用户输入圆的半径,求圆的面积的代码: <span style="

  • 轻松学习C#的结构和类

    类和结构是.NET Framework中的同样类型系统的两种基本构造.两者在本质上都属于数据结构,封装这一组整体作为一个逻辑单位的数据和行为.数据和行为是该类或结构的"成员",它们包含着各自的方法,属性和事件等.        结构        结构是C#程序员用来定义自己的值类型的最普遍的机制.结构比枚举更强大,因为它提供方法,字段,操作符和访问控制等.        结构与类很相似,都表示可以包含数据成员和函数成员的数据结构.但是,与类不同,结构是一种值类型,并且不需要堆分配.结

  • 轻松学习C#的方法

    在类中自定义的"函数"称为"方法",由于C#是完全面向对象的语言,同时为了便于解释后面要学的C#类,这里的"方法"来称呼"函数".        方法是一种用于实现可以有对象或类执行的计算机或操作的成员,是一个已命名的语句集.每个方法都有一个名称和主体.方法名应该是一个有意义的标识符,应描述出方法的用途.方法主体包含了调用方法时实际执行的语句.用户可以为大多数方法提供一些数据来进行处理,并让其返回一些信息(通常是处理结果).方

  • 轻松学习C#的正则表达式

    在编写处理字符串的程序时,经常会有查找符合某些复杂规则的字符串的需要.正则表达式就是用于描述这些规则的工具.正则表达式拥有一套自己的语法规则,常见语法包括字符匹配,重复匹配,字符定位,转义匹配和其他高级语法(字符分组,字符替换和字符决策),使用正则表达式时,首先构造正则表达式,这就用到了Regex类.其构造方式有两种:         基本形式Regex(正则表达式)         基本形式Regex(正则表达式,匹配选项) 其中匹配选项是提供一些特殊的帮助,是一个枚举值,包括下面六个值: (

  • 轻松学习C#的读写操作

    在看到C#流程控制结构的这一章节,看到了一个很好的关于C#读写操作的一个例子.这个例子就是典型的for迭代语句编写"小九九表". 第一种输出格式的代码: <span style="font-size:18px;"> for (int i = 1; i <=9; i++) { for (int j = 1; j <= i; j++) { Console.Write("{0}*{1}={2}", i, j, i * j); }

  • 轻松学习C#的装箱与拆箱

    首先看一看什么是装箱和拆箱?        简单的来说:        装箱就是值类型转换为引用类型:        拆箱就是引用类型转换为值类型.        值类型,包括原类型(Sbyte.Byte.Short.Ushort.Int.Uint.Long.Ulong.Char.Float.Double.Bool.Decimal).枚举 (enum) .结构 (struct).        引用类型包括类.数组.接口.委托.字符串等. 装箱:值类型到引用类型或到此值类型所实现的任何接口类型的

  • 轻松学习C#的密封类

    密封类概述        并不是所有的类都可以被继承,C#语言中就是密封类.在C#语言中我们可以把类声明为sealed.这表示不能继承该类,如果想要继承那么编译器肯定会报错.在把类或方法标记为sealed时,最可能出现的情形时:如果要对库,类或自己编写的其他类进行操作,则重写某些功能会导致编译错误.也可以因商业原因把类或方法标记为sealed,以防第三方违反注册协议的方式扩展该类.但是在一般情况下,在把类或方法标记为sealed时要小心,因为这么做会限制它的使用.即使不希望它能继承一个类或重写类

  • 轻松学习C#的属性

    属性是提供对对象或类的特性进行访问的成员.属性提供功能强大的方法将声明信息与C#代码(类型,方法,属性等)相关联.属性的设置包括字符串的长度,字体的大小,窗口的焦点,用户的名字等.         使程序员可以创造新的声明信息的种类,称为属性.属性是对现实世界中实体特征的抽象,是为访问自定义类型的注释信息提供通用的访问方式.属性使类能够以一种公开的思路方法获取和设置值,同时隐藏实现或验证代码.C#的属性具有保护功能,可以让用户像访问域一样访问属性.         属性包括字符串各种信息和字符串

  • 轻松学习C#的基础入门

    C#是一种简单的,安全的,稳定的,由C和C++衍生出来的面向对象的编程语言,它在继承C和C++强大功能的同时,去掉了它们的一些复杂性,综合了Visual Studio简单的可视化操作和C++高效的运行效率,以其强大的操作能力,独特的语法风格,创新的语言特性,便捷的面向组件编程的支持,使其成为.NET开发的首选语言,并成为ECMA和ISO的标准规范.        C#和Java有着惊人的相似,主要包括诸如单一继承,接口,与Java几乎同样的语法和编译成中间代码在运行的过程.但是C#和Java有着

  • XML轻松学习手册(一):XML快速入门

    前言 XML越来越热,关于XML的基础教程网络上也随处可见.可是一大堆的概念和术语往往让人望而生畏,很多朋友问我:XML到底有什么用,我们是否需要学习它?我想就我个人学习过程的心得和经验,写一篇比较全面的介绍文章.首先有两点是需要肯定的: 第一:XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解,等待只会让你失去机会: 第二:新知识肯定会有很多新概念,尝试理解和接受,您才可能提高.不要害怕和逃避,毕竟我们还年轻. 提纲 本文共分五大部分.分别是XML快速入门,XML

  • XML轻松学习手册(1)XML快速入门

    前言 XML越来越热,关于XML的基础教程网络上也随处可见.可是一大堆的概念和术语往往让人望而生畏,很多朋友问我:XML到底有什么用,我们是否需要学习它?我想就我个人学习过程的心得和经验,写一篇比较全面的介绍文章.首先有两点是需要肯定的: 第一:XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解,等待只会让你失去机会: 第二:新知识肯定会有很多新概念,尝试理解和接受,您才可能提高.不要害怕和逃避,毕竟我们还年轻. 提纲 本文共分五大部分.分别是XML快速入门,XML

  • C# 多线程学习之基础入门

    目录 同步方式 异步多线程方式 异步多线程优化 异步回调 异步信号量 异步多线程返回值 异步多线程返回值回调 线程(英语:thread)是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务.进程是资源分配的基本单位.所有与该进程有关的资源,都被记录在进程控制块PCB中.以表示该进程拥有这些资源或正在使用它们.本文以一些简单的小例子,简述如何将程序由同步方式,一步一步演变成

  • python基础入门学习笔记(Python环境搭建)

    Python学习第一篇.把之前学习的Python基础知识总结一下. 一.认识Python 首先我们得清楚这个:Python这个名字是从Monty Python借鉴过来的,而不是源于大家所知道的大蟒蛇的意思.我们为什么要学习Python呢?就我而言,我知道豆瓣在使用.重视Python,加上我想学习网页爬虫技术,所以,我要学习Python编程.另外在国外,Yahoo和Google都在使用Python.那么,Python就很值得我们认真学习. 二.Hello,World! 首先我们需要安装Python

  • XML 轻松学习手册(比较不错)第1/3页

    我想就我个人学习过程的心得和经验,写一篇比较全面的介绍文章.首先有两点是需要肯定的: 第一:XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解,等待只会让你失去机会: 第二:新知识肯定会有很多新概念,尝试理解和接受,您才可能提高.不要害怕和逃避,毕竟我们还年轻. 提纲 本文共分五大部分.分别是XML快速入门,XML的概念,XML的术语,XML的实现,XML的实例分析.最后附录介绍了XML的相关资源.作者站在普通网页设计人员的角度,用平实生动的语言,向您讲述XML的方

  • 轻松学习XML教程

    传统上,我们浏览网页,如果加入最新的数据.只能是等我们重新向服务器端请求时才能显示出来. 但是,对于一些时效性很强的网站.传统的这种做法是不能满足的. XML越来越热,关于XML的基础教程网络上也随处可见.可是一大堆的概念和术语往往让人望而生畏,很多朋友问我:XML到底有什么用,我们是否需要学习它?我想就我个人学习过程的心得和经验,写一篇比较全面的介绍文章.首先有两点是需要肯定的: 第一:XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解,等待只会让你失去机会: 第

  • XML轻松学习手册(三):XML的术语

    提纲: 导言 一.XML文档的有关术语 二.DTD的有关术语 导言 初学XML最令人头疼的就是有一大堆新的术语概念要理解.由于XML本身也是一个崭新的技术,正在不断发展和变化,各组织和各大网络公司(微软,IBM,SUN等)都在不断推出自己的见解和标准,因此新概念漫天飞就不足为奇了.而国内又缺乏权威的机构或组织来对这些术语正式定名,你所看见的有关XML的中文教材大部分是靠作者本身的理解翻译过来的,有些是正确的,有些是错误的,更加妨碍了我们对这些概念的理解和学习. 你下面将要看到的关于XML术语的解

  • XML轻松学习手册(3)XML的术语

    第三章 XML的术语提纲: 导言 一.XML文档的有关术语 二.DTD的有关术语 导言 初学XML最令人头疼的就是有一大堆新的术语概念要理解.由于XML本身也是一个崭新的技术,正在不断发展和变化,各组织和各大网络公司(微软,IBM,SUN等)都在不断推出自己的见解和标准,因此新概念漫天飞就不足为奇了.而国内又缺乏权威的机构或组织来对这些术语正式定名,你所看见的有关XML的中文教材大部分是靠作者本身的理解翻译过来的,有些是正确的,有些是错误的,更加妨碍了我们对这些概念的理解和学习. 你下面将要看到

  • XML轻松学习手册(2)XML概念

    第二章 XML概念 导言 经过第一章的快速入门学习,你已经知道了XML是一种能够让你自己创造标识的语言,它可以将数据与格式从网页中分开,它可以储存数据和共享数据的特性使得XML无所不能.如果你希望深入学习XML,系统掌握XML的来龙去脉,那么我们首先还是要回到XML概念的问题上来.XML(Extensible Markup Language),一种扩展性标识语言."扩展性"标识"语言".每一个词都明确的点明了XML的重要特点和功能.我们来仔细分析: 一. 扩展性 二

随机推荐