随笔分类 -  C#源码

摘要:改进前分析:由于之前做的项目占用sqlserver太多,程序运行时,导致sqlserver占用CPU 60%左右,内存占用1.6G左右,这种情况下可能会导致服务器的宕机或其它软件无法正常运行。而程序本身并没有占用太多CPU和内存。于是为减少sqlserver的占用,先后使用了两个解决办法:数据库连接池和数据缓冲池。由于是在多线程环境下,必须要保证数据同步。而本人对EF没有深入研究,所以只好自己写。数据库连接池思路:1、当前软件中必须有且只有一个数据库连接池,所以使用单例模式进行定义。2、为方便调用,方法使用static定义。4、调用DBConnPool(数据库连接池)时,必须保证已经初始化必要 阅读全文
posted @ 2013-02-06 10:05 易水寒2012 阅读(4533) 评论(4) 推荐(2) 编辑
摘要:相同点:两者返回的都是 System.Type区别TypeOf是一个运算符,只能针对类型进行运算。GetType是一个集成自Object的方法,任何一个object的变量都可以调用。以下来自msdn:C# typeof 运算符(在 Visual Basic 中为 GetType 运算符,在 Visual C++ 中为 typeid 运算符)返回一个 Type 对象。表示某个类型是唯一的 Type 对象;即,两个 Type 对象引用当且仅当它们表示相同的类型时,才引用相同的对象。 这允许使用参考等式来比较 Type 对象。 这个类是线程安全的;多个线程可以同时从此类型的一个实例读取数据。Type 阅读全文
posted @ 2012-12-17 10:37 易水寒2012 阅读(5563) 评论(0) 推荐(0) 编辑
摘要:在写winform的过程中,我们经常遇到需要窗体间传值。今天在此总结一下,分享给各位。窗体间传值有几种情况:1、一个项目内(指的是在解决方案管理器中的同一个项目,如下图)2、在另一个项目或类库中调用窗体的事件或方法,或改变窗体的某个状态,总之,你需要在另一个项目或类库中改变另一个窗体中的一些东西,而这两个不在同一个项目下,如下图:3、在另一个项目中调用窗体中的方法,但与 2 不同的事,他们在不同的线程中,当前本例不会取消控件的安全检查。=============================解决方法==============================================下 阅读全文
posted @ 2012-12-04 00:17 易水寒2012 阅读(595) 评论(1) 推荐(0) 编辑
摘要:View Code using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace common{ public static class Spell { #region 编码定义,不支持全角字符 private static int[] pyvalue = new int[] { -20319, -20317, -20304, -20295, -20292, -20283, -20265, -20257, -... 阅读全文
posted @ 2012-05-18 15:52 易水寒2012 阅读(1334) 评论(1) 推荐(1) 编辑