文档介绍:c基础知识总结
checked :clr会执行溢出检查入股发生溢出会抛出异常
unchecked:不会检查,发生溢出不会抛出异常,数据会丢失。默认为unchanged
checked{byte b=255;b++;(b);}
is 检查对象是否与指定类型兼容 b is int 多用于检查子类与父类是否兼容 son is father
as 用于在兼容的引用类型之间执行转换 father fat=son as father son转化为father
sizeof 确定值类型需要的长度 sizeof(int) sizeof(int64)
值类型:长度固定,栈结构,先进后出
引用类型:长度不固定,堆结构,先进先出 ,不进行定义就没有长度
typeof返回一个特定类型的type对象 typeof(string)
“空值”转化为null节约内存空间
int? i=null;//可空类型
只要一个或两个操作数为空结果就是null;
int?j=i+4 //j=null;
比较运算中,一个为空则为false
空接合运算:第一个数必须是可空类型或引用类型,第二个数和第一个数要兼容
int? j=i??4; //j=4
当一个为空,结果就是另一个数,都不为空则为第一个数
强制类型转换: (int)~ (“参数必须是string类型”) (~)
double 8位 float 4位 int 4位
装箱 :将值类型转换为引用类型
拆箱:将引用类型转换为值类型
操作消耗内存空间少操作好
referenceequals()方法是静态方法 测试两个引用是否指向类的同一个实例地址
equals()方法 按值来比较对象
== 介于引用比较和值比较之间
运算符重载:必须声明为静态方法,关键字为operator
public static void operator+(student str1,student str2){}
C#中常用字符串处理方法:
equals :比较两个字符串是否相等
join :连接字符串 ("连接符",连接数组);
split():分割字符串
indexof():查找字符串中某个字符的位置
substring ():从字符串中截取字符串
tolower():全部变成小写
trim():去除前后的空格,中间的不能去除
replace():替换
stringBuilder类 修该字符串不创建新的对象,而string创建新的对象
Append方法追加后自动分配空间,比"+"好 节约空间
Appendendformat方法,将格式化文本添加到文末
集合 Array (数组集合) 反转 降序排列
capacity容量 count 实际元素个数
ArrayList(集合)索引删除数据 要引入命名空间 ();全部清空
HashTable 通常称为哈希表 键——(对应)值 方法Add,GetEnumerator,Remove 无排序,key(键)
唯一
foreach(DictionaryEntry item in ht)
{
();
}
不可以通过索引来查找 ,HashTable通过键删除数据
泛型:;
List<数据类型>students=new List<数据类型>();
利用List<数据类型>储存班级集合
优点:不需要类型转换,保证类型的安全
泛型最常用于创建集合类,泛型集合可以约束集合内的元素类型
List<T>(T意思为Type) Dictionary<K,V>(K key,V value) 表示该泛型集合中的元素类型
List<T>增加元素时类型严格检查无需装箱拆箱(不需要类型转换)
ArrayList可以增加任何类型,需要装箱拆箱,都通过索引访问集合的元素
Dictionary<string,student>
//用泛型做的通讯录查询
class PersonList
{
//private Person[] PersonArray;
List&