摘要:
NOPI 通过StylesTable 和 XSSFDataFormat 获取单元格的数据格式. 阅读全文
随笔分类 - .NET
一些列开源的验证组件
2014-03-18 10:06 by 爱车龟速兔, 272 阅读, 收藏,
摘要:
https://github.com/DotNetOpenAuth/DotNetOpenAuth/tree/master/src 阅读全文
c#获得HTTP header中location的方法
2013-03-20 23:37 by 爱车龟速兔, 1469 阅读, 收藏,
摘要:
用HttpWebRequest获取网页信息时,页面可能会使用header跳转到新地址。但是有时候不希望调整,想获得跳转后的地址,然后做些判断来决定是否跳转。HttpWebRequest对象有个AllowAutoRedirect属性,指是否自动跳转到新地址,默认为true,改成false即可。返回对象... 阅读全文
.NET基础扩展系列-事件的实现原理
2012-04-09 17:41 by 爱车龟速兔, 799 阅读, 收藏,
摘要:
CLR VIA C#这本书中, 写到了事件的实现原理, CLR是使用委托字段来实现事件的:// 1. A PRIVATE delegate field that is initialized to null static EventHandler<EventArgs> NewMail = null;// 2. A PUBLIC add_Xxx method (where Xxx is the Event name) // Allows methods to register interest in the event. static void add_NewMail(EventHa 阅读全文
.NET基础扩展系列-如何获取事件的响应函数列表
2012-03-19 17:57 by 爱车龟速兔, 866 阅读, 收藏,
摘要:
很多对象实现了IDispose接口的, 例如Socket对象. 在使用后, 需要及时调用Dispose()方法销毁.但是如果对象上的事件注册了事件响应函数, 那么就必须等待事件响应函数所在的对象回收以后, 它才能回收, 这个很容易导致程序出问题.所以比较理想的方案是在调用Dispose()之前, 把时间的事件响应函数注销掉. 这个就ok了. 但是对象的事件响应函数可以添加多个, 而且一个事件可能在若干个对象中被注册了响应函数, 如何获取调用函数的列表呢, 然后住校呢. <CLR VIA C#>的事件一章, 详细讲解了.net的事件是通过字段+方法来实现的. 也就是说, 事件会被翻译 阅读全文
字符串生成Hash值后转换成Guid的若干方法和一个重要问题
2012-02-17 17:55 by 爱车龟速兔, 1241 阅读, 收藏,
摘要:
字符串计算成Hash值的代码如下:MD5 md5 = MD5.Create();byte[] data = System.Text.Encoding.Default.GetBytes(str);byte[] md5data = md5.ComputeHash(data);计算出Hash值后,结果是一堆byte, 不方便多个hash值进行比较.由于Hash值计算出来是一个128位的值, 转换成字符串表达形式就好对比多了,也就是MD5码的字符串形式, 另外由于Guid也是128位的,所以可以用guid来存储这个MD5码.先说一种不正规的MD5生成方法: return new Guid(md5dat 阅读全文
.net 自带的oracleclient 的一点小问题
2011-01-20 10:30 by 爱车龟速兔, 231 阅读, 收藏,
摘要:
1:下面这段代码会报错ORA-12154: TNS: 无法解析指定的连接标识符string constring = "Data Source=ss7;User ID=ss7;Password=ss7;";//定义连接数据库的字符串 using (OracleConnection conn = new OracleConnection(constring)) { conn.Open(); OracleCommand comm = conn.CreateCommand(); comm.CommandText = @"select count(*) from SSS_B 阅读全文
.NET 基础题, 可以做面试题, 不断更新 2011-1
2011-01-20 10:27 by 爱车龟速兔, 239 阅读, 收藏,
摘要:
GC:如果一个对象没有活动引用了,但是这个对象的一个子对象存在活动引用,那么这个对象是否会背回收, 例如, A包含一个对象C,但是A没有引用指向,当前有一个B对象包含了一个到C的引用,请问A是否能够被回收掉? A能够被回收掉. 阅读全文
DataTable和普通类型存储数据,内存和效率的差别
2011-01-14 14:17 by 爱车龟速兔, 435 阅读, 收藏,
摘要:
测试Datatble和普通数据结构的插入输入的速度和内存差异, 结果dt的内存占用大约大50%,时间大约是class的3倍. 阅读全文
控制台进程优化分析
2009-11-03 17:02 by 爱车龟速兔, 1941 阅读, 收藏,
摘要:
自己做的模块, 内存占用太高了, 一个并非进程占用了20多M, boss和客户都受不了了,勒令优化内存.没有想到什么好的优化方法前,先来招笨招, 优化dll引用.优化思路: 1 能不调用的dll一定要排除 2 所有进程都需要调用的功能尽可能合并.沿着这个思路开动, 一下午的dug, 跟踪....先在程序里面植入debug语句,将时间点打印出来, 看看什么代码都干了什么坏事.未优化前, 单步输入如下... 阅读全文
sql语句中的通配符
2009-10-30 17:06 by 爱车龟速兔, 452 阅读, 收藏,
摘要:
sql语句中的通配符sql server 2005 中有4中通配符可以适用于 like 字符串匹配:% 匹配零-N个任意字符_ 匹配一个任意字符[] 匹配指定范围内的任何单个字符[^] 匹配不在指定范围内的任何单个字符如果希望在字符串中搜索%或者_的字面值, 可以使用ESCAPE运算符例如:SELECT ProductID,Name FROM Production.productWHERE Nam... 阅读全文
.NET基础扩展系列-使用反射设计插件
2007-02-05 09:20 by 爱车龟速兔, 318 阅读, 收藏,
摘要:
很多时候, 我们定义了一个功能接口, 可能有很多接口实现, 比如我们有一个系统, 有一个告警时间通知接口, 我们可能有短信的通知实现, 也可能有邮件的通知实现, 也可能有其他方式的通知实现, 如果根据需要加载呢?有一种方式是, 将实现这个接口的所有的dll放到一个指定目录下, 然后用反射的方式去加载实现.代码如下: Dictionary<string, IModelCodeGenerator> addInTypes = new Dictionary<string, IModelCodeGenerator>(); string[] AddInAssemblies = Di 阅读全文
如何动态生成代码?
2007-02-05 09:12 by 爱车龟速兔, 304 阅读, 收藏,
摘要:
参见:ms-help://MS.MSSDK.1033/MS.NETFX30SDK.1033/dv_fxadvance/html/d077a3e8-bd81-4bdf-b6a3-323857ea30fb.htm基本过程就是:1:先new一个CodeCompileUnit的对象,作为动态添加代码的容器. 2: new一个CodeNamespace 的对象,添加到CodeCompileUnit对象的的Namespaces中,作为添加类的命名空间.3:new一个CodeTypeDeclaration的对象,添加到CodeNamespace对象的Types中,作为新添加的类.4: new一个CodeMe 阅读全文
浙公网安备 33010602011771号