C#基础知识全面介绍

开发 后端
本文介绍C#基础知识,包括C#中的变量和常量、变量命名方法、装箱和拆箱、C#语法、五种声明方式和C#基础知识之枚举:用有意义的字符去访问数据等方面。

C#基础知识之.NetFramework简介
.netframework运行于操作系统之上,提供良好的跨语言特性。
.netframework包含两个内容:公共语言运行时(CLR)和类库集(FCL)
MSIL微软中间语言。当编译.net支持的语言编写的代码的时候,输出的代码为MSIL
CLR又包含:通用语言规范(CLS:保证语言互操作性的一组规则)和公共类型系统(CTS:包含了.net支持的各语言间兼容的数据类型和功能)

C#中的变量和常量
C#中的基本数据类型:
值类型和引用类型
值类型:简单类型、结构类型和枚举类型。
简单类型:整数类型、浮点类型、小数类型(decimal)和布尔类型等
sbyte是有符号的,相当java的byte型,范围-128~127
C#中byte是无符号的,范围0~255

C#基础知识之变量命名方法:
帕斯卡命名法和骆驼命名法
帕斯卡命名法:如果有多个单词组成,每个单词首字母大写
骆驼命名法:如果有多个单词组成,第一个单词全部小写,后面的单词大写

C#中的常量:const与readonly两种
const声明的常量:叫静态常量,必须声明时就初始化,且只能用常数值初始化
readonly声明的常量:叫动态常量,可以在声明时不初始化,只能在构造函数中初始化,但必须每个构造函数中都要初始化;而且可以使用变量值初始化

  1. classTest  
  2. {  
  3. constfloatPI=3.1416f;//常量命名:全部大写  
  4. readonlyfloatG;  
  5. publicTest()  
  6. {  
  7. G=9.80F;  
  8. }  
  9. publicTest(floatg)//每个构造函数中都要初始化;而且可以使用变量值初始化  
  10. {  
  11. G=g;  
  12. }  

C#中的装箱和拆箱
装箱:值类型转换成有引用类型
拆箱:引用类型转换成值类型
值类型:存在栈中
引用类型:在堆中存放对象的地址(即引用),对象本身存放在栈中
拆装箱允许值类型和引用类型相互处理

C#语法

Switch()括号中可以是int ,char和string ,switch语句中的case语句冒号后什么都不写,可以不写break,其他情况一定要写break,否则报错

数组:五种声明方式

  1. int[]array;  
  2. array=newint[2];  
  3.  
  4. //第二种声明方式  
  5. int[]array1=newint[2];  
  6.  
  7. //第三种声明方式  
  8. int[]array2={1,2,3};  
  9.  
  10. //第四种声明方式  
  11. int[]array3=newint[]{1,2,3};  
  12.  
  13. //第五种声明方式  
  14. int[]array4=newint[3]{1,2,3};  
  15.  
  16. //数组大小也可以是变量  
  17. intcount=3;  
  18. int[]arr=newint[count]; 

C#基础知识之枚举:用有意义的字符去访问数据

  1. publicenumContry:long//指定枚举类型,必须是整型,不写为int型  
  2. {  
  3. Pacific,//第一个未付值,默认为零  
  4. China=1860,  
  5. Japan,  
  6. US=1901,  
  7. Canada  
  8.  

C#中的面向对象
析构函数:函数名与构造函数名一样,~函数名(),不接受参数,由垃圾回收器自动调用(GC.Collect()调用垃圾回收器)

virtual关键字:C#中,子类要重写父类的方法,必须把父类的方法标识为virtual(虚拟的),同时重写方法用override修饰
new 关键字:new关键字:在子类中定义的一个和父类方法签名一样,但是个全新的方法。并非重写父类的方法。
base关键字:用base关键字调用父类的方法

访问修饰符:
public 公有的,
internal 在一个项目中的,
protected有父子关系的类,
private仅所属类的成员

注意:如果有一个类既继承类又实现接口,类名要写在接口名前面。

属性,索引器,委托,事件

属性:访问修饰一般为public,首字母大写。属性内有get和set访问器,get内必须要有return,set内有value关键字,代表从外部接受的值。
索引器:索引器的作用:像处理数组一样去处理类的对象。

  1. publicclassStudent  
  2. {  
  3. privatestring[]obj=newstring[10];  
  4.  
  5. //this关键字在这里代表每一个类的对象,[]中整数是指通过下标访问  
  6. publicstringthis[intindex]//此是可以通过索引号去访问每一个类的成员  
  7. {  
  8. get  
  9. {  
  10. returnobj[index];  
  11. }  
  12. set  
  13. {  
  14. if(value!=null)  
  15. obj[index]=value;  
  16. }  
  17. }  
  18. staticvoidMain(string[]args)  
  19. {  
  20. Studentstucollection=newStudent();  
  21. stucollection[0]="柯南";  
  22. stucollection[1]="小五郎";  
  23. stucollection[5]="怪盗基德";  
  24. }  

C#基础知识之委托:相当于函数指针,可使程序在运行是再指定具体要运行的方法。
(1) 定义委托:Public delegate int Call()
(2) 实例化委托:objcall=new Call(方法名)
(3) 调用委托:objcall();

【编辑推荐】

  1. C#数据库查询和操作大全
  2. 浅析C#扩展方法
  3. C# Singleton的使用及优缺点探讨
  4. 详细分析C#数据库连接池
  5. C#数据库备份及还原的实现代码
责任编辑:佚名 来源: IT168
相关推荐

2009-08-13 15:40:28

C#基础知识

2009-08-27 16:37:06

C#基础知识

2009-08-13 12:50:45

C#基础知识

2009-08-13 16:13:03

C#基础知识

2009-08-03 13:55:03

C#基础知识

2009-12-15 10:48:30

路由选择协议

2009-08-24 17:07:09

C# 泛型

2009-08-21 17:19:36

C#网络编程入门

2009-08-19 17:13:15

C# 操作符基础知识

2009-10-23 18:29:02

linux Debia

2023-07-06 09:02:36

2011-11-04 17:26:12

2009-08-07 17:45:29

C#预处理

2009-08-03 17:12:40

C#指针操作

2009-09-01 10:20:28

C#多种语句

2009-07-31 15:52:47

C#常用函数

2010-06-12 15:49:54

TCP IP协议基础知

2010-06-07 17:50:52

UML

2009-11-05 09:51:14

WCF基础

2015-07-17 16:49:13

OpenStack开源云平台云计算
点赞
收藏

51CTO技术栈公众号