摘要:
前台线程和后台线程前台线程:当应用程序结束的时候,前台线程如果没有完成任务,那么前台线程就不会结束。除非你强行结束应用程序进程中所有前台线程。前台线程适合必须执行完的任务。 后台线程:当应用程序结束的时候后台线程会被CLR强行结束,不会抛出异常。示例:static void Main(string[] args){ Thread t = new Thread(Test); t.IsBackground = true; //这里线程是后台线程,应用程序马上结束 //假如是前台线程,大约5秒以后结束 t.Start(); Console.WriteLine("A... 阅读全文
随笔分类 - .NET Framework
c#中的浮点型转整形的舍取-四舍五入和银行家舍入
2012-03-06 23:14 by 海不是蓝, 6937 阅读, 收藏, 编辑
摘要:
MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0Double显示转换int static void Main(string[] args) { Console.WriteLine("5.1~{0}", (int)5.1d); Console.WriteLine("5.5~{0}", (int)5.5d); Console.WriteLine("5.8~{0}", (int)5.8d); Console.Write... 阅读全文
net网络编程的基本概念
2012-03-05 21:21 by 海不是蓝, 540 阅读, 收藏, 编辑
摘要:
MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0概念性的知识基本简介在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;SYN:同步序列编号(SynchronizeSequenceNumbers)。第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器 阅读全文
NET反射系统
2012-02-18 19:51 by 海不是蓝, 550 阅读, 收藏, 编辑
摘要:
MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0没事看书的笔记,虽然这些知识在项目中经常用,但是系统的看看书也对得起这买书的钱。。。Type查看msdn知道反射的所有东西都是在Reflection中,想获取什么就去自己查查相关的类就好了,用了反射这么久,觉得其实核心就是那个Type。 Type派生于MemberInfo这个抽象类。其实想想,当你获取到了一个Type对象的时候,那么就应该能点出什么得到这个对象的名称,属性,方法这些,所以整个反射系统都是这样的,所以没必要去每个类和方法都看,用的时候右键转到定义看看就好。 ... 阅读全文
net加密基础3-数据完整性(散列)
2012-02-15 22:04 by 海不是蓝, 1567 阅读, 收藏, 编辑
摘要:
MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0数据完整性概念为什么需要数据完整性?之前的数据加密技术可以保护信息不被第三方获取,但是不能阻止恶意用户对信息的篡改。假如:用户A发送一个加密信息给解密用户B,很长的时间都是正常运行,但是突然有一天用户A的电脑被用户C获取了,但是用户C不知道密钥,所以无法和用户B进行沟通,但是用户C可以修改包含恶意数据的信息发给用户B。用户B无法解密这些信息,这些恶意的信息还可能对用户B的电脑进行攻击。所以验证数据的完整性和正确性就很重要了,特别是一些涉及到金融和对安全性要求高的项目,对数据的完整 阅读全文
net加密基础2-非对称加密
2012-02-09 20:31 by 海不是蓝, 2478 阅读, 收藏, 编辑
摘要:
非对称密码算法非对称密码算法使用2个不同但在数学上却相关的密钥。用于加密数据的密钥不能用于解密。非对称密码技术统称称为“公钥加密技术”,没有双方必要保密的单个密钥。公钥加密技术只有一个必须由一方保密的私钥,第二个密钥就是公钥,任何想与他们通信的人都可以随意使用它。安全web通信就是采用的这种技术。该技术可以用于电子商务。非对称和对称的区别对称加密和非对称加密的密钥类型分别是私钥和公钥。对称加密使用的是私钥加密,也就是密钥只能是加密者和解密者知道,第3方不能知道。而非对称加密情况完全不一样,非对称加密有2个不同的密钥,一个是公共的密钥,一个是私有的密钥,公钥是可以让外人知道的,因为公钥只用来加密 阅读全文
net加密基础1-对称加密
2012-02-04 21:43 by 海不是蓝, 1799 阅读, 收藏, 编辑
摘要:
.NET中常用的3个密码术命名空间usingSystem.Security.Cryptography;usingSystem.Security.Cryptography.Xml;usingSystem.Security.Cryptography.X509Certificates;它们依次的大概作用解释:1.System.Security.Cryptography包含所有加密任务的核心类2.System.Security.Cryptography.Xml包含结合使用System.Security.Cryptography类,对XML文档部分内容进行加密和签名的类3.System.Security 阅读全文
CLR自动管理内存---《clr via c#》笔记
2012-02-03 16:27 by 海不是蓝, 649 阅读, 收藏, 编辑
摘要:
理解垃圾回收平台的基本工作原理面向对象的环境中,每个类型都代表可供程序使用的一种资源。要使用这些资源,就需要为资源分配内存,当不使用资源的时候再回收销毁。过程如下。1.调用IL指令newobj,为代表资源的类型分配内存,c#中就是new操作符。2.初始化内存,设置资源为初始状态,c#中是类型的实例构造器负责初始化。3.访问类型的成员(可以重复)使用资源。(就是你平时不断的使用一个对象的过程)4.摧毁资源的状态以进行清理。5.释放内存,垃圾回收器独自负责这一步。Jeffrey大牛的抱怨Jeffrey这里有开始回忆他以前写c++的光阴了!Jeffrey抱怨:进行非托管编程的时候,内存管理不当是主要 阅读全文
System.Nullable可空值类型---《clr via c#》笔记
2012-02-02 17:08 by 海不是蓝, 538 阅读, 收藏, 编辑
摘要:
MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0System.NullableClr对可空值类型支持的类,System.Nullable它的内部实现就不啰嗦了,自己去看。它有重要的1个方法和2个属性publicTGetValueOrDefault();获取该类型的默认值publicboolHasValue{get;}返回一个布尔值,对象是否包含值publicTValue{get;}得到对象的值,如果对象是NULL,就会抛出异常。try{System.Nullable<Int32>i=2;Console.WriteL 阅读全文
Attribute基础,园友不用看,浪费您时间
2012-02-01 19:09 by 海不是蓝, 378 阅读, 收藏, 编辑
摘要:
MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0Attribute基础Attribute作用就是为程序添加说明信息,特性都是继承System.Attribute。所有特性都必须是System.Attribute的派生类(别想逆天!)。特性是个类,这个类很简单,简单到只有基本的字段或属性,别想在特性里面添加方法,这个也是逆天的。创建个简单的特性[AttributeUsage(AttributeTargets.All)]publicclassTestAttribute:Attribute{privatestringstr;publ 阅读全文
委托的杂七杂八---《clr via c#》笔记
2012-01-31 22:35 by 海不是蓝, 471 阅读, 收藏, 编辑
摘要:
MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0初识委托委托提供了一种回调的函数机制,委托确保回调的方法是类型安全的,clr最重要的目标之一是类型安全。非托管的c/c++中回调函数只是个内存地址。blahblahblah......什么委托基本语法啊,什么委托回调静态回调实例方法啊!啊!啊!blahblahblah......blahblahblah......blahblahblah......委托揭秘定义一个委托clr所做的幕后工作publicdelegatevoidMydelegate(Int32i);编译器生成的代码p 阅读全文
异常基础---《clr via c#》笔记
2012-01-30 18:15 by 海不是蓝, 439 阅读, 收藏, 编辑
摘要:
MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0try一个try块至少有一个关联的catch或finally块,单独的try块没有意义而且是错误的。重点:如果在一个try块执行多个可能抛出同一个异常类型的操作,但是不同的操作有不同的异常恢复措施,就应该将每一个操作都放到它自己的try块中。catch一个try块可以关联0个或多个catch块。注意:如果try块没有关联catch块,那么必须关联一个finally块,否则无法编译通过。CLR异常的捕捉clr是自上向下搜索一个匹配的catch块,所以应该把较具体的异常放到顶部,也就 阅读全文