Net学习日记_基础提高_8

HashTable储存数据理论

里面依旧是个Bucket数组。bucket是一个类。

 table.Add("1","2");

Bucket b = new Bucket();

b.Key = "1";

b.Value = "2";

b.hash_coll = b.key.GetHashCode();

bukets[index] = b;

// 然后如何储存下标呢?

b.hash_coll%buckets.Length = ?(0-3)计算出的值放在b作为下标。

键值对是以键的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);

读取文本文档,读取每一行。

posted @ 2017-10-16 22:40  兽人松  阅读(101)  评论(0编辑  收藏  举报