C和C++一直是最有生命力的编程语言,这两种语言提供了强大的功能、高度的灵活性以及完整的底层控制能力;缺点是开发周期较长,学习和掌握这两种语言比较困难。C#与.NET的关系:c#只是一中编程语言,而net是一个平台。在
net平台上可以用c#语言进行开发系统,net支持多种语言开发的,例如C#,VB,J#..等等。。而目前C#都是基于net平台上开发的。C#的特点:1.语法简洁2.彻底的面向对象设计3.与Web应用紧密结合4.强大的安全机制5.完善的错
误、异常处理机制6.灵活的版本处理技术7.兼容性C#中的数据类型可分为以下两类。值类型:该类型的数据长度固
定,存放于栈内。1.整数类型(sByte,short,int,long,byte,ushort,uint,ulong)2.浮点数类型C#支持3种浮点数类型(float,double,decimal)3.布尔型C#的布尔型是bool,其取值包括True和False。4.字符型C#的字符型可以保存单个字符的值(‘A’,转义字符)。5.结构除去上面介绍的简单值类型之外,用户还可以定义复合值类型。常用的复合值类型包括结
构和枚举。6.枚举枚举(enum)其实是一个整数类型,用于定义一组基本整数数据,并可以给每个整数指定一个便于
记忆的名字。引用类型:该类型的数据长度可变,存放于堆内。1.内置引用类型(object,string)2.数组C#把数组看作
一个带有方法和属性的对象。int[]num=new int[10];num.Length,num.Rank;3.类、接口C#有两种转换方式。隐式转换:
无需指明转换,编译器自动将操作数转换为相同的类型。显式转换:需指定把一个数据转换成其他类型。C#中定义常
量的方式有两种,一种叫做静态常量(Compile-time constant),另一种叫做动态常量(Runtime constant).如何定
义一个C#的变量和常量?答:声明和使用变量:变量的声明非常简单,只需在数据类型后面加上变量名即可。如:int i;string s1,s2;C#中变量必须先定义,后使用,变量分为实例变量、静态变量和局部变量(注:C#中没有全局变量)实例变量:不带有任何关键字声明的变量,如int i。实例变量在其所在的方法中调用结束后,其数据将会清除掉,所占
的内存空间也会被释放。静态变量:使用关键字“static”修饰的变量,如static int count=0。同实例变量相对,静态变
字符串转数组工具量在函数调用结束后仍保留变量值,知道程序结束前一直存在。另外,静态变量不能在类的方法中定义,因为这没有
任何意义。局部变量:局部变量是指在一个独立的代码块中声明的变量,只在这个代码块中有效,一旦离开这个代码
块,将不再存在。注:C#中没有全局变量,因为这是面向对象语言,当然可以使用类实现其功能。声明变量并赋值后,
就可以通过直接引用变量名来使用它。声明和使用常量:同变量一样,常量也用来存储数据,它们的区别在于,常量
一旦初始化就不再发生改变,可以理解为符号化的常数。使用常量可以使程序变得灵活。常量的声明和变量类似,需
要指定其数据类型、常量名,以及初始化,并且要使用const关键字,例如:[publid]const double PI=3.1415926;其中,[public]为可选,并可用private,protected,internal或new代替。声明变量并赋值后,就可以直接引用变量名来使用它。.能够使用C#的运算符操作数据了吗?答:C#中的运算符包括:算术运算符:+(加),-(减),*(乘),/(除),%
(求余),++(递加),--(递减)字符串运算符:+(字符串运算符只有唯一的“+”,其功能为连接字符串)赋值
运算符:=,+=,-=,*=,/=,%=逻辑运算符:<,>,<=,>=,==,!=,&&,||,!位移运算符:&(与),|(或),^(异或),<<
(左移),>>(右移),~(非,按位取反)其他运算符:new,typeof,?:能够使用流程控制语句组织代码了吗?答:C#中的流程控制语句有:if语句(if…else、if…elseif…else),switch语句,while语句,do…while语句,for语句,break/continue语句。如何用类搭建程序?C#程序是如何使用命名空间组织类?C#程序的入口在哪答:面向对象程序设计方法主要思路时建立一系列的类,并定义它们的静态属性和动态方法。C#用关键字namespace来建立命名空间,命
名空间提供了一种组织相关类的逻辑结构,命名空间允许嵌套,即一个命名空间可以有子类,注:使用同一个命名空
间中的类时,无需做任何事情,直接使用即可,但在其他的命名空间中,则必须首先使用using关键字来引用这个空间,
然后才能使用这个空间中的类,如果不使用关键字,则需要在类前说明其“绝对路径”。C#程序的入口位Main()函
数,C#规定,必须有一个类包含一个静态的Main()方法,并且其返回值必须是int或者void。Main()方法可以没有任
何参数,也可以接受一个字符串数组参数args。当程序运行时,编译程序会在所有的类中寻Main()函数,并以此
作为程序的入口。如何使用try-catch-finally处理可能的代码异常?答:C#使用try,catch和finally关键字类定义异常代
码块。当在try{…}代码中出现异常时,C#将自动转向catch{…}代码块,并执行其中的内容,无能是否出现异常,程序
都会执行finally{..}中的代码。面向对象设计是软件设计的一种方法。该方法是根据面向对象思想,以对象为基础来进
行软件的设计。面向对象的设计方法主要应用于大型的软件项目中,其主要的优点是提高开发效率、节约成本、容易
维护,最基本的单元就是对象类是对象的一个抽象的概念,对象则是类的一个实例化,在面向对象中,和对象有直接关系
的就是类类就是一种数据结构,用于模拟现实中存在的对象和关系,包含静态的属性和动态的方法。从类的继承关系
上讲,类的成员可以分为两大类:类本身声明的和从基类继承的。类的成员的类型有以下几种:常量、变量、方法、
属性、事件、索引指示器、操作符以及构造函数和析构函数。从类的访问角度上来讲,类的成员又可以分为四类:公
有成员、私有成员、保护成员及内部成员对象可以代表任何事物,从个人到整个学校,一个整数到一个数据集合,一
滴水到一条大河等,这些都可以看作是一个对象。对象不仅表示有形的实体,也可以表示无形的、抽象的事物,从程序
的角度来看,对象则是被封装起来的代码块,或者称为一个功能模块面向对象的主要特征有3个:封装性、继承性和
多态性。继承和多态是面向对象思想的两个主要的特征。命名空间是用来组织类的组织代码的最基本的单元就是类。
把每个类分别写在一个文件中,可以更好地组织代码的结构。但是,有时候还需要组织各个类,将再次分类的类组织
起来。微软公司的.NET架构提供了一种可以组织类的概念,那就是命名空间。构造函数主要的作用是执行类的实例的
初始化。析构函数主要的作用就是回收系统占用的资源。1.构造函数在实例化对象的时候,对象的初始化是自动完
成的,并且这个对象是空的。有时候,希望每创造一个对象时都为其初始化某些特征,这时就需要用到构造函数。2.析
构函数上面介绍了使用构造函数在实例化对象时自动完成了一些初始化工作。反过来,在销毁对象的时候,有时候也
希望能自动完成一些“收尾”任务。例如,关闭数据库连接等,C#使用析构函数来完成这个功能。域可以简单地理解为
成员变量,其主要作用是保存数据信息。域的修饰符可以是以下几种:new,public,internal,protected,static和readonly
属性可以看作是实体特征的抽象表现,属性的声明涉及两个关键字:get和set。get:表示对属性的读操作。set:表示对
属性的写操作。方法的参数是调用方法时传递给它的变量,主要分为两类:(1)传递数据的值:直接把变量的数据值
传递给方法;(2)传递数据的地址:把变量的内存地址传递给方法。接口和抽象类非常相似,它定义了一些未实现
的属性和方法。所有继承它的类都继承这些成员,在这个角度上,可以把接口理解为一个类的模板。接口和抽象类的
相似之处表现在以下两方面:(1)两者都包含可以由子类继承的抽象成员;(2)两者都不能直接实例化。抽象类的声明:在C#中,使用关键字abstract来定义抽象方法(abstract method),并需要把abstract关键字放在访问级别修饰符和方法返回数据类型之前,没有方法实现的部分,格式如下:public abstract void Train();2)子类继承抽象父类之后,可以使用override关键字覆盖父类中的抽象方法,并做具体的实现,格式如下:public override void Train(){…}静态方法用于表示类所具有的行为,而非其对象所具有的行为数组(Array)是一组相关数据的集合C#常用命名空间有哪些这
些命名空间是的作用是:System命名空间包含基本类和基类,这些类定义常用的值和引用数据类型、事件和事件处理程序、接口、属性和异常处理。2、System.Collections.Generic命名空间包含定义泛型集合的接口和类,泛型集合允许用户创建强类型集合,它能提供比非泛型强类型集合更好的类型安全性和性能。3、System.ComponentModel命名空间提供用于实现组件和控件运行时和设计时行为的类。此命名空间包括用于实现属性和类型转换器、绑定到数据源以及授权组件的基类和接口。4、System.Data命名空间提供对表示ADO.NET结构的类的访问。通过ADO.NET可以生成一些组件,用于有效管理多个数据源的数据。5、System.Drawing命名空间提供了对GDI+基本图形功能的访问。在System.Drawing.Drawing2D、System.Drawing.Imaging以及System.Drawing.Text命名空间中提供了更高级的功能。6、System.Text命名空间包含表示ASCII、Unicode、UTF-7和UTF-8字符编码的类;用于将字符块转换为字节块和将字节块转换为字符块的抽象基类;以及操作和格式化String对象而不创建String的中间实例的Helper类。
7、System.Windows.Forms命名空间包含用于创建基于Windows的应用程序的类,以充分利用Microsoft Windows 操作系统中提供的丰富的用户界面功能。哈希表(Hashtable)是一个元素为<;键(key)、值(value)>对的集合,每个元素是一个存储在DictionaryEntry对象中的键/值对,键不能为空引用null,但值可以为null;根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存
储位置称为哈希地址或散列地址。Stack类是数据结构栈的实现,栈是一个具有“先进后出”特点的数据结构类Queue是数据结构队列的实现,队列是一个具有“先进先出”的数据结构hashtable和SortedList有何区别?2者都是表示键/值对的集合
hashtable是没有排序的,所以新增元素会比较快
而SortedList存储的键值对,是按key进行排序了的,因为要排序,所以新增元素时,要先查元素的位置再插入,相对慢些,但是在查时比较快
String和SstringBuilder的区别和联系:STR IN G的长度是不可变的,Str ingBuilder的长度是可变的。如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuilder,如果最后需要String,那么使StringBuilder的toString()方法private:私有成员,在类的内部才可以访问。protected:保护成员,该类内部和继承类中可以访问。public:公共成员,完全公开,没有访问限制。正则表达式简介:正则表达式是一种可以用于模式匹配的工具。简单地说,正则表达式就是一套规则,用于判定其他的元素是否符合它。】文件操作是一个操作系统重要的组成部分之一,也是一个应用程序所必须具备的功能。一个完整的应用程序,必须具有系统和用户信息交换的功能。而有效的文件操作,是实现信息交换的手段之一。文件类(File)是最重要和最基础的一个类。File类提供了大量的公开方法,有42种之多,其中大部分方法为静态方法。File类提供了用于创建、复制、删除、移动和打开文件的静态方法文
件信息类(FileInfo)和文件夹信息类(DirectoryInfo)具有文件类(File)和文件夹类(Directory)的大部分功能。读者在实际应用中应当注意选择使用不同的实现。(1)File类和Directory类适合用于在对象上单一的方法调用。此种情况下静态方法的调用在速度上效率比较高,因为此种方法省去了实例化新对象的过程。(2)FileInfo类和DirectoryInfo 类适合用于对同一文件或文件夹进行几种操作的情况。此种情况下,实例化的对象不需每次都寻文件,只需调用该实例化的方法,比较节省时间。流是.NET操作文件的基本类流操作类介绍:NET Framework中提供了5种常见的流操作类,用以提供文件的读取、写入等常见操作。该操作类的简单说明如表类说明BinaryReader用特定的编码将基元数据类型读作二进制值BinaryWriter以二进制形式将基元类型写入流,并支持用特定的编码写入字符串FileStream公开以文件为主的Stream,既支持同步读写操作,也支持异步读写操作StreamReader实现一个TextReader,使其以一种特定的编码从字节流中读取字符StreamWriter实现一个TextWriter,使其以一种特定的编码向流中写入字符ADO.NET简介:ADO.NET就是一系列提供数据访问服务的类XML即可扩展标记语言(eXtensible Markup Language)。绘制图形包括以下两个步骤:(1)创建Graphics对象;(2)使用Graphics对象绘制线条和形状、呈现文本或显示与操作图像。套接字是网络通信的基础。套接字可以看作是通信主机之间的端点,构成了单个主机内及整个网络间的编程界面。套接字存在于通信域(通信域是为了处理一般的线程通过套接字通信而引进的一种抽象概念)中。同一个域中,不同的套接字是可以互相通信的。套接字分为两种类型:同步套接字和异步套接字使用同步套接字技术实现网络通信有5个方面:定义主机对象、主机解析、主机端口绑定和监听、数据接收和数据发送。异步套接字与同步套接
字一样,也有5个方面:定义主机对象、主机解析、主机端口绑定和监听、数据接收和数据发送。其中,主机解析、主机端口绑定和监听是相同的,
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论