C#基础总结

原创 2015年07月06日 19:53:41

1、在字符串前加一个@字符,“”中特殊字符可以不用转义

2、关键字checked和unchecked对表达式进行溢出检查

3、foreach循环遍历数组

4、多维数组声明:<baseType>[,,,]<name>; 矩形数组,不同维度之间用逗号隔开

5、锯齿数组(jagged array)声明如下:int[][] jaggedIntArray;初始化如下:jaggedIntArray=new int[2][]; jaggedIntArray[0]=new int[3]; jaggedIntArray[1]=new int[4];

遍历时必须循环遍历每个子数组和数组本身。

6、引用传递参数,使用ref关键词    void functionName(ref Type name) ; out关键词指定输出参数

7、委托是一种可以吧引用存储为函数的类型,一般用于事件和事件处理

定义:delegate void ProcessDelegate(double param1);

声明一个函数 void delegateFunction(double param1){ //实现代码 }

调用:ProcessDelegate process=new ProcessDelegate(delegateFunction); process(param1); 

Predicate 泛型委托
  表示定义一组条件并确定指定对象是否符合这些条件的方法。此委托由 Array 和 List 类的几种方法使用,用于在集合中搜索元素。

public delegate bool Predicate<T>(T obj);
类型参数介绍:
   T: 要比较的对象的类型。
   obj: 要按照由此委托表示的方法中定义的条件进行比较的对象。
   返回值:如果 obj 符合由此委托表示的方法中定义的条件,则为 true;否则为 false

8、基类可以定义为抽象类,抽象类不能直接实例化;

9、默认情况下,类声明为内部的,可以使用internal修饰符显示指定,只有当前项目才可以访问。public指定的为公共类,其他项目代码也可访问;abstract 抽象类,不能实例化,只能继承,可以有抽象成员;sealed 密封类,不能继承,对密封类的实例的虚函数可转换为非虚函数来处理。

10、C#类定义中,只能有一个基类,如果继承了一个抽象类,必须实现继承的所有抽象成员。编译器不允许派生类的可访问性高于基类,即内部类可继承公共基类,但公共基类不能继承内部类。C#所有类都继承于System.Object类。

11、结构类型是值类型(深度复制),而类是引用类型(浅复制、指针)

12、类中属性可使用访问器get/set访问

13、隐藏基类方法,可以在方法前加new关键字显示隐藏:例:new public void func(){}

14、可以使用base关键字访问基类方法

15、比较: 

1)类型比较:

(1)GetType()方法或typeof()运算符;

(2)is运算符:检查对象是否给定类型或是否可以转换为给定类型,语法如下:<operand> is <type>;

(3)封箱(boxing)和拆箱(unboxing)

面向对象中封箱是指将非对象类型的数值或数据包装成对象类型;拆箱是指将对象类型转换为非对象的数值或数据。

C#中封箱是指将值类型转换为System.Object类型或有值类型实现的接口类型;拆箱与之相反。封箱是隐式转换,而拆箱需要手动显示转换。

例:如下结构类型:

//定义结构体
struct MyStruct{
 public int val;
}
MyStruct valType1=new MyStruct();  //定义变量valType1
valType1.val=5;   //赋值
Object refType=valType1; //封箱
MyStruct valType2=(MyStruct)refType;  //拆箱
也可以把值类型转换为接口类型,但要实现该接口,举例如下:
<pre name="code" class="csharp">interface MyInterface{
}
struct MyStruct:MyInterface
{
 public int val;
}
MyStruct valType1=new MyStruct();
MyInterface refType=valType1;  //封箱
MyStruct valType2=(MyStruct)refType; //拆箱
封箱的作用:
<ol><li>保证项的类型是Object的集合(如ArrayList)中使用值类型;</li><li>有一个内部机制允许在值类型上调用Object方法,如int和结构。</li></ol>


2)值比较

16、转换:as运算符把一种类型转换为指定的引用类型,不能正常转换则返回null。语法如下:<operand> as <type>

适用情况:1)<operand>的类型是<type>类型;2)<operand>可隐式转换为<type>类型 ;3)<operand>可封箱到<type>类型

17、集合 

System.Collections名称空间提供接口

ArrayList:Collection Base类,这个抽象类提供了集合类的许多实现方式,可以继承该类实现自己的集合类

IList

IDictionary:关键字值集合,基类DictionaryBase

迭代器:IEnumerable接口负责使用foreach循环,调用GetEnumerator()获取一个IEnumerator引用,e.MoveNext()方法遍历,e.Current属性获取对象的引用

相关文章推荐

自学.net之路-c#编程之基础总结

  • 2013年12月02日 13:51
  • 156KB
  • 下载

C#_5基础总结

  • 2014年07月11日 14:49
  • 72KB
  • 下载

黑马程序员_学习日记6_C#基础归纳总结之堆栈分配图解

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 当你声明一个变量时内存中都发生了什么...

C#语法基础(vc2005教程总结)

  • 2009年02月14日 00:27
  • 47KB
  • 下载

非常不错的C#基础语言总结

  • 2013年08月12日 15:54
  • 1.08MB
  • 下载

黑马程序员_C#基础篇总结5

1、多态:如果子类和父类的方法重名了,会报绿线,如何把绿线去掉? 方法一:可以再子类的方法的访问修饰符后面加new 方法二:可以再父类的方法上加一个virtual,然后子类在继承父类的时候可以用o...

c#与asp.net学习总结(基础)

  • 2011年04月06日 17:52
  • 82KB
  • 下载

C#基础知识总结

  • 2017年11月01日 17:08
  • 723B
  • 下载

基础C#总结

由于在学习c#这段视频是为了辅助设计模式的学习,这部分的内容也和VB的内容很大程度上是一样的.虽然在开始的 时候,有些困难.在接触了一些例子和实验后.理解起来变得顺畅了很多.下面是对c#基础内容的总...

C#编程之基础总结(二)

自学.NET之路-C#编程之基础总结 属性,索引器,委托,事件 属性:访问修饰一般为public,首字母大写。属性内有get和set访问器,get内必须要有return,set内有valu...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#基础总结
举报原因:
原因补充:

(最多只允许输入30个字)