#if/#endif条件编译常用来由同一份源代码生成不同的结果文件,最常见的有debug版和release版。但是,这些工具在具体应用中并不是非常得心应手,因为它们太容易被滥用了,使用它们创建的代码通常都比较难理解,且难以调试。C#语言的设计者们对这种问题的解决方案是创建更好的工具,以达到为不同环境创建不同机器码的目的。C#为此添加了一个Conditional特性,该特性可以标示出某种环境设置下某个方法是否应该被调用。使用这种方式来描述条件编译要比#if/#endif更加清晰。由于编译器理解Conditional特性,所以它可以在Conditional特性被应用时对代码做更好的验证。Co...
转自:http://blog.udnz.com/Article/ConvertIPAddressToNumber.aspx项目中有IP与Int32类型相互转换的需求,于是在网上搜索了相关代码,但发现网上的代码有Bug,加以修改发布如下:/// <summary>
/// 将IPv4格式的字符串转换为int型表示
/// </summary>
/// <param name="strIPAddress">IPv4格式的字符</param>
/// <returns></returns>
public stat...
转自:http://blog.udnz.com/Article/CutStr.aspxC#中字符串截断本没有那么麻烦,问题就出在string.Substring()这个方法将中文也按一个字符计算,导致我们在实际应用中截取字符串(中英文组合)后的“长度”不一致。国际惯例,在网上搜索了一下,大致得到了两中截断算法: 1. 从起始位置取得字符 -> 逐一用正则表达式匹配 -> 拼接成最终字符串。(这是广为流传的方法,也是效率最低的方法。) 2. 从起始位置取得字符 -> 逐一用ASCII比较 -> 再拼接成最终字符串。相比之下,算法2比算法1高明,毕...
从ICassFactory为CLSID为{17BCA6E8-A950-497E-B2F9-AF6AA475916F}的COM组件创建实例失败,原因是出现以下错误:c001f011.(Microsoft.Server.manageDTS)今天在“新建维护计划”时,报错:创建维护计划失败。其他信息:从 ICLassFactory 为CLSID为{17BCA6E8-A95D-497E-B2F9-AF6AA475916F}的COM组件创建实例失败,原因是出现以后错误:c001f011.(Microsoft.SqlServer.ManagedDTS)从ICassFactory为CLSID为{17B...
最近有个项目用到行转列,难为死我了,搞了半天实在弄不出来,就上网搜到一段代码。/*
普通行列转换
假设有张学生成绩表(tb)如下:
Name Subject Result
张三 语文 74
张三 数学 83
张三 物理 93
李四 语文 74
李四 数学 84
李四 物理 94
*/
-------------------------------------------------------------------------
/*
想变成
姓名 语文 数学 物理
---...
- «
- 1
- ...
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- ...
- 22
- »