码迷,mamicode.com
首页 > Windows程序 > 详细

015.C#基础总结

时间:2017-01-20 20:56:17      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:sub   winform   files   foreach   static   调用   return   arraylist   命名空间   

一、语言基础
1、VS .net C#
Console类:
WriteLine() Write()
ReadLine()
2、变量、数据类型、运算符
数据类型 变量名; 变量名 = 值;

int float double char bool string
byte sbyte

++ --
?:

const:常量

3、流程控制语句
选择语句
if..else

switch...case

循环语句
初始化 循环条件 循环操作 更新

for
while
do..while
do
{
}while(条件);

跳转语句
break
continue
goto

循环嵌套

4、方法
访问修饰符 [可选修饰符] 返回类型 方法名(参数列表)
{
方法体
}
public
protected
internal
private

static
abstract
virtual
override
sealed

void
类型

参数列表:数据类型 参数名1,数据类型 参数2,....

直接调用:方法名(参数);
类名调用:类名.方法(参数);
对象调用:对象.方法(参数);

ref:引用参数
out:输出参数

bool int.TryParse(string,out int)

方法的重载


5、数组
一位数组
int[] arr;
arr=new int[5];
arr[0]=1;

int[] arr=new int[5];

int[] arr=new int[]{1,2,3,4,5};
int[] arr;
arr=new int[]{1,2,3,4,5};

int[] arr={1,2,3,4,5};
int[] arr;
arr={1,2,3,4,5};//错误

常用算法:
累加求和
求平均
求最值

冒泡排序

数组的常用属性和方法
Length
Rank

Sort()
IndexOf()


二维数组:
int[,] arr=new int[3,4]{{1,2,3,4},{2,3,4,5},{3,4,5,6}};
交错数组:
int[][] arr=new int[3][];
arr[0]=new int[5];

foreach(元素类型 变量名 in 数组或集合)
{
//不能改变元素的值
}

参数数组

6、string StringBuilder
string的常用方法

Split()
Substring()
IndexOf()
LastIndexOf()
Insert()
Replace()

Join()
Format()

string的不可变性

StringBuilder
ApplendLine()
AppendFormat()

枚举
public enum 枚举
{

}
结构
public struct 结构
{

}


二、OOP
1、类和对象
类是对象的数据类型
类是抽象的 对象是具体的

构造函数:

this:当前实例
static
partial:分部类

创建对象
类名 引用 = new 构造函数();

2、类继承
父类 子类
基类 派生类
public class 子类:父类
{}

特性:单一继承 传递性

base

子类的构造函数默认调用父类的无参构造函数,可以使用base 显示调用父类的构造函数
public 子类构造函数(参数列表):base(实参)
{

}

抽象方法、抽象类
abstract
抽象方法:没有实现 只能在抽象类中定义 必须在非抽象子类中实现
抽象类:不能实例化 通常被继承 可以包含实现方法、虚方法、抽象方法

方法的重写:override
方法的签名和父类中相同

虚方法:有实现 除静态类、密封类之外的类中定义 可以在子类中重写


装箱拆箱:
装箱:值类型向object或其实现的接口的隐式转换
拆箱:object向值类型或接口向实现该接口的值类型的显示转换

隐藏方法:new


3、多态
父类类型指向子类对象时,重写方法 调用的是子类重写之后的 隐藏方法 调用的是父类的

密封方法 密封类
sealed
密封方法:不能被重写 sealed override
密封类:不允许被继承 不能包含抽象方法和虚方法

4、接口:行为的规范
interface
不能有实现
不能有字段
所有成员默认public abstract

实现类必须实现接口中的全部成员 添加public 不能使用override
如果不能实现,声明为抽象方法 类声明为抽象类

接口可以实现多继承

public class MyClass:父类,接口1,接口2,...
{

}

IComparable 方法: int CompareTo(object )

is:对象 is 类 子类兼容父类
as:强制类型转换 对象 as 类型 成功:对象 失败:null

命名空间:


5、属性 索引器
get、set访问器

public 类型 属性名
{
get
{
return this.字段;
}
set
{
this.字段 = value;
}
}

自动属性:读写属性


public 类型 this[数据类型 索引]
{
get
{
return this.数组[索引];
}
set
{
this.数组[索引]=value;
}
}
索引可以是任意数据类型

6、委托、事件
委托是一种引用数据类型,在命名空间中定义

public delegate 返回类型 委托(参数列表);

委托 dele=new 委托(方法名);
dele(参数);
dele+=方法名;

事件:定义在类中
public event 委托 事件名;

//注册
事件名+=方法名;

三、Framework
1、集合
System.Collections
ArrayList:动态数组
Hashtable:键值对
Stack:栈 后进先出
Queue:队列 先进先出
SoredList:按键排序

2、泛型
泛型类
泛型方法
泛型结构:Nullable<T>

默认值
T t = default(T);
约束
struct
class
base class
interface
new()

where T : 约束

泛型集合
List<T>
Dictionary<K,V>

WinForm
控件
事件

文件和流
System.IO
File FileInfo
Directory DirectoryInfo
DriveInfo

Stream
FileStream
StreamWriter
StreamReader


序列化
对象持久化


调试


异常处理
运行时错误
Exception及其子类

try
{

}
catch()
{

}
finally
{

}


内存管理


多线程


程序集
.exe .dll
程序集的引用


反射
System;
System.Reflection;

System.Type
System.Reflection.Assembly;


配置文件:App.config

<AppSettings>
<Add key="" value=""/>
</AppSettings>

 

015.C#基础总结

标签:sub   winform   files   foreach   static   调用   return   arraylist   命名空间   

原文地址:http://www.cnblogs.com/harveylv/p/6323766.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!