下面的这些基础知识基本上做的是一个搬运工作,以前我是记在笔记上面,呵呵
C#中类型主要分成二类: 引用类型和值类型
值类型又分为:A 简单数据类型 // 值类型存储于线程堆栈中, 引用类型存储于托管堆中
B 字符类型 char // 值类型直接调用或者修改变量的值, 引用类型则是指向或者修改一个内存地址(这里有点像指针的意思)
C 枚举类型 enum // 装箱比较消耗内存的原因就是转换为引用类型后,会在内存中生成托管堆,进行一系列的操作
// 装箱: boxing 将值类型转换为引用类型(对象) 例: int i=1; object o=i
// 拆箱:unboxing 显式地将引用类型转换为值类型
引用类型分为:A 类类型
B 字符串类型 string
C 接口类型 interface
D 数组类型 一维数组与多维数组
E 委托
C#中的简单数据类型对应于.net中的各种类型:
int---------System.Int32
long-------System.Int64
char-------System.Char
float-------System.Single 这个赋值的话在后面加F 【这里主要是因为C#中默认的小数类型是Double】
double----System.Double
decimal---System.Decimal 赋值在后面加M(这种数据类型主要运用于金融领域,可扩充到小数点后28位)
取一个随机数: Random rnd=new Random();
name=(int)rnd.Next(1,100); \\取一个1到100的随机整数
\\ name=(byte)(rnd.NextDouble()*n); 这里的n可以为任意整数
ref 调用方法中单个值, out 调用方法中多个值
在控制台程序中生成XML文件的命令:csc /doc:xmlfile name.cs
声明结构: struct point { public int x; public int y; } 调用的话可以直接用 point abc;
类的声明和结构一样,但是调用一个类的话,则 point abc=new point();
枚举的声明: modifiers enum enumname
{
enumMember1, //枚举的默认值为0(Int32类型的) 但是你可以强制给它命名为负整数
enumMember2, //枚举的第二个值默认比前一个值+1,但是也可以强制给它赋值
...
}
将xy值转换成枚举的值: abc=(enumName) Convert.ToInt32(xy); (另枚举的默认值为int型)
数组的声明: decimal[] name; name=new decimal[12] 包含12个数据的decimal类型的数组
char[,]name=new char[2,3]; 长度相同的2行3列的二维数组
name[0,0]='a'; name[0,1]='b'; 命名方法
char [][] myname=new char[3][] 长度不同的二维数组命名,注意第二个括号没有标记长度
myname[0]=new char[]{'b','r','e','a','d'};
myname[1]=new char[]{'r'.'e'.'d'}
获取数组长度函数: 一维数组---Name.Length 多维数组: GetLength();
方法重载:【即重命名方法】
using doit=System.Console; doit.WriteLine("hello!"); 给名称空间提供别名
异常处理: catch(System.Exception e) {} e为异常变量
继承定义: public class name2 : name1 (name2从name1中继承) 【这里c#只能支持简单继承,不能支持多重继承】
装箱: boxing 将值类型转换为引用类型(对象) 例: int i=1; object o=i
拆箱:unboxing 显式地将引用类型转换为值类型