HashTable储存数据理论数组
里面依旧是个Bucket数组。bucket是一个类。函数
table.Add("1","2");大数据
Bucket b = new Bucket();code
b.Key = "1";blog
b.Value = "2";文档
b.hash_coll = b.key.GetHashCode();字符串
bukets[index] = b;string
// 而后如何储存下标呢?hash
b.hash_coll%buckets.Length = ?(0-3)计算出的值放在b做为下标。it
键值对是以键的hash值算出其所对应的下标。
ArrayList取值是一个一个遍历取值,但HashTable则是经过Key值来取值。
大数据量状况下,HashTable取值更快一些。
泛型集合
List<T> 能够指定储存类型。
HashTable里面也有泛型值,利用Dictionary;
Dictionary<T,T> dic = new Dictionary<T,T>();
foreach( KeyValuePair<string,Person> pair in dic)
{
Console.WriteLine(pair.Key + ":" + pair.Value);
}
异常捕捉
1.错误?
不符合语法规范。
2.异常
在运行的时候发生的。例子:操做文件的时候
只把有可能发生异常的代码用try抱起来。
try里的代码若是发生异常,就会马上跳到catch里面去执行,执行完成以后,继续往下执行。
try代码若是有1句异常,就马上跳到catch里面,不会执行try里面的代码。
catch后面能够用括弧写1个Exception变量用来接收发生异常的具体信息。
finally,无论有没有发生异常,finally里的代码都会被执行。
单例模式
1.私有化构造函数
2.提供1个私有的静态的Person类型的变量
3.提供1个公共的静态的方法,用于返回上面的变量。
这样状况,只能获得这个类的一个new;
子窗体的列子:
文件操做相关类
Path类(仅仅是操做字符串,不回去查询真正的路径问题)
1.strng newPah = Path.ChangeExtension(@"d:\1.txt",''avi');
更改路径字符串的后缀名,不会更改实际的文件
2.string newPath = Path.Combine(@"d:\12\","12.txt");
自动加斜杠,并合并多个字符串路径
3.string newPath = Path.GetDirectoryName(path);
获得文件路径所在的目录。若是自己就是一个目录路径,就直接放回这个目录。
4.string newPath = Path.GetExtension(path);
获得指定的文件路径的后缀名,若是不是一个文件路径,返回空串。
5. string newPath = Path.GetFileName();
获得指定路径的文件名(带后缀的)
6.Path.GetFileNameWithoutExtension(path)
只获得文件名,不要后缀
7. string p = "1.txt";
string newPath = Path.GetFullPath(path);
经过相对路径获得咱们的绝对路径
相对路径:相对于当前本程序所在目录
8.Path.GetTempPath();
获得系统的临时目录。
Temp则是系统的临时目录,负责存储某些临时文件。
9.Path.GetTempFileName();
获得一个随机的系统文件名,这个文件已经建立好了
字符集
1.File.Create(@"d:\2.txt")
建立指定的文件,若是文件已存在,则覆盖。
2.File.AppendAllText(@“d:\2.txt”,"哈哈哈");
向已有的文本文件中追加字符。若没有这个文件,则建立一个新的。
3.File.Copy(@"d:\test\b\2.txt",@"d:\test\a\3.txt");
复制
4.File.Delete(@"d:\test\b\2.txt");
删除
5.File.Exists(@"d:\fan.txt");
判断是否存在
6.File.Move();
文件移动
7.string str = File.ReadAllText(@"d:\fan.txt",Encoding.Default);
读取
注意:
美国人 ASCII码 (0-127)
中国人 GB2312(0-127 后面,每2个字节,用来表示1个汉字)
扩展:GB108....(少数民族的字)
台湾省:BIG5(繁体)‘
...................................
最终:Unicode(ISO组织)(用4个字节表示1个字符)
进一步进化:UTF-8(用1-4个字节来表示)
电脑判断字符格式,是利用采用随机试试的状态,来打开文本的。
8.string[] lines = File.ReadAllLines(@"d:\fan.txt",Encoding.Default);
读取文本文档,读取每一行。