C#学习笔记

来源:互联网 发布:网络试衣间 编辑:程序博客网 时间:2024/06/03 15:58

1.

1. 接口作用

http://blog.jobbole.com/85751/

2. 命名空间

http://blog.csdn.net/beyondqd/article/details/6696936

3. 序列化与反序列化

序列化:将对象状态转换为可保持或传输的格式的过程(保存文件内容);
反序列化:将内容即流转换为对象(读取文件内容);
xml文件的序列化与反序列化的示例:

#config是根据xml的格式定义的一个类,file是xml文件的路径public static Config LoadConfig(string file){    XmlSerializer xs = new XmlSerializer(typeof(Config));    StreamReader sr = new StreamReader(file);    Config config = xs.Deserialize(sr) as Config;    sr.Close();    return config;}public void SaveConfig(string file){    XmlSerializer xs = new XmlSerializer(typeof(Config));    StreamWriter sw = new StreamWriter(file);    xs.Serialize(sw, this);    sw.Close();}

4. Invoke BeginInvoke

http://www.cnblogs.com/zhangchenliang/p/4953649.html

5. 事件(event)

http://blog.csdn.net/cgguang/article/details/53103503

6. XML

http://www.cnblogs.com/tomin/archive/2009/02/27/1399566.html

7. 读写配置文件

http://www.cnblogs.com/wayfarer/archive/2004/07/16/24783.html

8. 线程同步

所谓同步:是指在某一时刻只有一个线程可以访问变量。
如果不能确保对变量的访问是同步的,就会产生错误。
c#为同步访问变量提供了一个非常简单的方式,即使用c#语言的关键字Lock,它可以把一段代码定义为互斥段,互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。在c#中,关键字Lock定义如下:
Lock(expression)
{
statement_block
}
expression代表你希望跟踪的对象:
如果你想保护一个类的实例,一般地,你可以使用this;
如果你想保护一个静态变量(如互斥代码段在一个静态方法内部),一般使用类名就可以了
而statement_block就算互斥段的代码,这段代码在一个时刻内只可能被一个线程执行。
以书店卖书为例
http://blog.csdn.net/ermao_zbp/article/details/78293782?locationNum=4&fps=1

8. 互斥锁

互斥锁(lock)
lock 关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁。当任何一个线程获取到锁后,其他线程如果需要使用该临界区内代码,则必须等待前一个线程使用完毕后释放锁。
代码示例:

Object thisLock = new Object();  lock (thisLock)  {      // 临界区代码块  }
原创粉丝点击