
C# .Net
文章平均质量分 55
一个被IT搞的
这个作者很懒,什么都没留下…
展开
-
C#代码审查清单
确保没有warning使用代码分析工具移除未使用的using检查null情况,避免运行时Null Reference Exception命名规则一致性遵循SOLID原则(单一职责,开放闭合,Liskov替换原则,接口隔离原则,依赖倒置原则)代码可重用性代码一致性代码可读性释放非托管资源合理处理异常方法中代码不能过多及时check-in check-...原创 2014-06-11 22:35:05 · 231 阅读 · 0 评论 -
我在使用 NPOI 时遇到的问题 - Sheet Tab Color
(我文笔太烂,就当练手了) NPOI 版本信息:Binary: 2.1.3.1Source Code: https://github.com/tonyqus/npoi (2015-06-15) 最近想改善某个项目中操作 Excel 文件的性能,于是重新开始研究 NPOI。 为什么是“重新”?以前试用过 NPOI,实现过一些很基础的功能,但因为某些原因,一...原创 2015-06-17 15:10:12 · 600 阅读 · 0 评论 -
我在使用 NPOI 时遇到的问题 - Cell Comment
NPOI 版本信息:Binary: 2.1.3.1Source Code: https://github.com/tonyqus/npoi (2015-06-15) 本期问题:Cell Comment1. Comment CountNPOI 限制了每个 HSSFSheet 最大 Comment 数量:1024。(不知道为什么要这么做)(貌似 POI 中已经修复了这个 b...原创 2015-06-25 10:27:52 · 2183 阅读 · 0 评论 -
我在使用 NPOI 时遇到的问题 - CellStyle (引用同一个实例)
NPOI 版本信息:Binary: 2.1.3.1Source Code: https://github.com/tonyqus/npoi (2015-06-15) 本期问题:CellStyle (引用同一个实例)介绍 NPOI 中设置单元格样式时,网上大部分示例都是创建一个新的 ICellStyle,并将其赋给 Cell 的 CellStyle 属性。 一般操作量...2015-06-25 11:43:21 · 571 阅读 · 0 评论 -
我在使用 NPOI 时遇到的问题 - Color
NPOI 版本信息:Binary: 2.1.3.1Source Code: https://github.com/tonyqus/npoi (2015-06-15)本期问题:Color1. Custom Color / Color Palette / Color List> NPOI(HSSF)中,一般设置颜色都会赋一个 Int16 (表示颜色的索引)。 st...2015-06-25 13:32:37 · 1318 阅读 · 0 评论 -
C# .Net 成员可访问性修饰符
来自《CLR via C# (第4版)》 CLR术语C#术语描述Privateprivate成员只能由定义类型或任何嵌套类型中的方法访问Familyprotected成员只能由定义类型、任何嵌套类型或者不管在什么程序集中的派生类型中的方法访问Family and Assembly(不支持)成员只能由定义类型、任何嵌套类型或者同一...原创 2015-07-07 10:30:01 · 136 阅读 · 0 评论 -
C# Framework Class Library 中的各种 Timer
来自《CLR via C# (第4版)》 > System.Threading.Timer用于在一个线程池线程上执行定时的(周期性发生的)后台任务。 > System.Windows.Forms.Timer构造这个类的实例,相当于告诉 Windows 将一个计时器和调用线程关联(参见 Win32 SetTimer 函数)。当这个计时器触发时,Windows 将...原创 2015-07-07 13:21:19 · 163 阅读 · 0 评论 -
C# 单例模式整理
参考:《Implementing the Singleton Pattern in C#》《CLR via C# (第4版)》方式1. 非线程安全 public class Singleton{ private static Singleton instance = null; private Singleton() { } p...原创 2015-07-09 17:14:13 · 96 阅读 · 0 评论 -
C# 字符 vs 文本元素
字符不是文本元素字符:System.Char文本元素:肉眼看到的文字符号 在 .Net Framework 中,字符总是表示成16位 Unicode 代码值。每个字符都是 System.Char 结构的实例。一个字符(System.Char)不一定等价于一个抽象 Unicode 字符。有的 Unicode 抽象字符或文本元素(text element)要求用两个16位...原创 2015-08-10 17:39:30 · 117 阅读 · 0 评论 -
.Net CLR 内存模型小结
.Net CLR的内存模型和JVM的内存模型有很多相似的地方。《JVM 结构小结》 1 进程内存空间应用程序的内存受进程的虚拟地址空间的限制。32位进程:最多1.5GB64位进程:最多8TB 2 引用跟踪算法为了解决“引用计数算法”中处理不好循环引用的问题,CLR采用了引用跟踪算法,只关心引用类型的变量——根。值类型变量直接包含实例,变量销毁,整个实例也销...原创 2017-03-26 20:59:55 · 781 阅读 · 0 评论 -
ASP.NET Identity 使用简介
1. 什么是 ASP.NET IdentityASP.NET Identity 是微软推出,用于在ASP.NET应用中管理用户的组件。 The mainstay for user management in recent years has been ASP.NET Membership, which has suffered from design choices. The bi...2017-04-01 20:06:17 · 548 阅读 · 0 评论 -
XML-RPC 示例
该示例中:C# 版本的实现主要靠 xmlrpcnet 和 xmlrpc-server Python 版本的实现主要靠 SimpleXMLRPCServer. C# 版的代码详见附件。Pythont 版的可参考Python官网的代码(SimpleXMLRPCServer Example)。...原创 2015-04-20 15:48:46 · 209 阅读 · 0 评论 -
Asp.Net WebForm vs MVC
参考:《Comparing Web Forms And ASP.NET MVC》 WebForm 的优点> 成熟,稳定,有大量的第三方控件库和工具> 开发效率高,适用于快速开发数据驱动型的应用开发方式与 WinForm 很相似。WebForm 隐藏了很多内部细节,开发人员不需要对 HTML 和 JavaScript 非常熟悉就能开发 Web 应用。 ...2015-03-16 18:23:55 · 145 阅读 · 0 评论 -
C#中的DateTime如何解析两位数字的年份
首先喷一个。这是谁提的需求——把两位数字表示的年份转换成四位数字的年份?脑子呢?多出来的两位数字是谁生的?用脚趾头想想也知道最终结果不唯一(不唯一就是根本没解决问题)。脑子被千年虫蚀空了。 对于这种需求,直接印上“INVALID”,哪来的回哪去。 答: 如果一个表示日期的字符串格式类似于“yyyy-MM-dd”, 即用四位数字...2014-06-20 00:26:01 · 709 阅读 · 0 评论 -
IEnumerable vs IQueryable
初学Entity Framework时,根本没有意识到IQueryable。那时从数据库查数据都是先把所有记录取出来,放内存上,再对这些内存上的数据进行筛选。数据少的时候,这种方法也马马虎虎能用。但数据一多,性能问题突显。 IEnumberable 和 IQueryable的差异。 来源:IEnumerable VS IQueryable ...原创 2014-06-25 21:34:29 · 193 阅读 · 0 评论 -
C# 用 LDAP 验证用户名和密码
ldapBaseDnPath = "LDAP://localhost/DC=dc3,DC=dc2,DC=dc1"// 'LDAP' 这4个字母必须大写userName = "Name1"password = "DoNotUseMe"using (DirectoryEntry de = new DirectoryEntry(ldapBaseDnPath, userName, ...原创 2015-01-16 16:29:38 · 866 阅读 · 1 评论 -
IronPython之在C#中获取Python对象的类名
假设在C#中有一个IronPython的对象 ‘obj1’。现在要得到该对象的类名,不是在C#中的类名,而是它在IronPython中的类名。(如果要得到在C#中的类名,直接调用对象的GetType()方法,就能获得对应的Type) dynamic obj1;Microsoft.Scripting.Hosting.ScriptEngine engine = IronPy...原创 2014-07-28 18:29:04 · 341 阅读 · 0 评论 -
WinForm 中 Control.SuspendLayout, Control.ResumeLayout, PerformLayout 之间的关系
一般情况:在VS视图模式下设计窗体对象后,其 InitializeComponent 方法体一般如下: private void InitializeComponent(){ // 创建各控件实例 this.SuspendLayout(); // 设置各控件具体属性 this.ResumeLayout(false); t...2015-01-28 17:12:35 · 411 阅读 · 0 评论 -
FxCop 和 StyleCop 的关系
参考:StyleCop vs FxCopC# Code Reviews using StyleCop - Detailed ArticleHow to Use FxCopFxCop WarningsStyleCop Rules7 Steps to Write Your Own Custom Rule using FxCopFxCop 检测的是编译后的程序集。所以...2015-01-30 16:04:54 · 276 阅读 · 0 评论 -
.Net constants vs Settings vs Resources
参考:《When to use constants, settings.settings and Resources.resx》问题:声明一个不常改变,近似“常量”的字符串时,这个字符串应该声明在何处?一般做法:字符串永不改变,只在一个类内部使用声明在这个类内部,和同一个类中的其它常量放一起字符串永不改变,会被多个类使用将这类字符串声明在另外一个单独的类...原创 2015-02-27 14:31:18 · 110 阅读 · 0 评论 -
C# 自定义配置节点简例
参考:《How to: Create Custom Configuration Sections Using ConfigurationSection》《Custom Configuration Sections for Lazy Coders》《How to: Add CData or Text in a ConfigurationElement》示例配置文件: ...原创 2015-02-28 11:17:39 · 281 阅读 · 0 评论 -
学习 Robot Framework IDE 的一些感受
前段时间学习了 Robot Framework IDE (RIDE) 的源码,还照着样实现了一个 .Net 平台的RIDE。有几点感受比较深: 1. 动态和静态语言的区别学习 RIDE 源码前几乎没有用动态语言编写过上规模的程序。对 RIDE 源码的学习,让我感受到:1.1 Python 灵活的语言特性可以非常大的加快开发速度。如:无需定义“接口”,就能将不...原创 2015-03-02 11:42:34 · 558 阅读 · 0 评论 -
WPF -- 绑定显示多个属性
参考:《Customize Data Display with Data Binding and WPF》《DisplayMemberPath concatenation》方法1:DataTemplate 包含一个 StackPanel;StackPanel 包含多个 TextBlock;一个属性绑定到一个 TextBlock。(我比较喜欢的) XAML...2015-03-12 11:38:40 · 1422 阅读 · 0 评论 -
《Pro .Net 4 Parallel Programming in C#》笔记
《Pro .Net 4 Parallel Programming in C#》笔记$ 周期性定时任务用CancellationToken.WaitHandle.WaitOne(TimeSpan) 特点:如果Task被Cancel,WaitOne马上就会返回。 $ 同步元同步元选择场景解决方案串行访问边界区域lock关键字或System.Thre...原创 2017-03-19 17:35:12 · 259 阅读 · 0 评论