随笔分类 -  C#

1
摘要:这是为C#开发者准备的通用性代码审查清单,可以当做开发过程中的参考。这是为了确保在编码过程中,大部分通用编码指导原则都能注意到。对于新手和缺乏经验(0到3年工作经验)的开发者,参考这份清单编码会很帮助。 清单 1. 确保没有任何警告(warnings)。 2.如果先执行Code Analysis(启用所有Microsoft Rules)再消除所有警告就更好了。 3.去掉所有没有用到的usings。编码过程中去掉多余代码是个好习惯。(参考:msdn) 4. 在合理的地方检查对象是否为’null’,避免运行的时候出现Null Reference Exception。 5. 始终遵循命名规... 阅读全文
posted @ 2014-03-03 10:49 Ruiky 阅读(325) 评论(0) 推荐(0) 编辑
摘要:public static class TreeViewHelper { private static IEnumerable<TreeNode> childNodes(thisTreeNode node) { return node.Nodes.Cast<TreeNode>() .SelectMany(x => x.selfAndChildNodes()); } private static IEnumerable<TreeNode> selfAndChildNod... 阅读全文
posted @ 2013-02-01 11:00 Ruiky 阅读(1509) 评论(0) 推荐(0) 编辑
摘要:静态构造函数用于初始化任何静态数据,或用于执行仅需执行一次的特定操作。在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数。C#复制class SimpleClass{ // Static constructor static SimpleClass() { //... }}静态构造函数具有以下特点:静态构造函数既没有访问修饰符,也没有参数。在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数来初始化类。无法直接调用静态构造函数。在程序中,用户无法控制何时执行静态构造函数。静态构造函数的典型用途是:当类使用日志文件时,将使用这种构造函数... 阅读全文
posted @ 2012-09-28 17:18 Ruiky 阅读(239) 评论(0) 推荐(0) 编辑
摘要:遇到一個老問題,開始很清楚解決辦法,後來變得不清楚了(因爲我解釋不了該辦法爲什麽是正確的)。相信很多人都遇到使用 SqlDataReader 的時候,出現連接池不足的問題,其根本原因就是打開數據庫連接而沒有關閉,即是 SqlConnection 對象連接的關閉。有很多人不放心使用 using 語句來關閉而選擇顯式的使用 SqlConnection.Close() 方法來關閉。很有可能是因爲對 using 的不了解,現在帖出MSDN的一些解釋,如下:第一。SqlConnection 的使用:原文:http://msdn.microsoft.com/zh-cn/library/system.dat 阅读全文
posted @ 2012-06-21 09:22 Ruiky 阅读(1701) 评论(0) 推荐(0) 编辑
摘要:记录这篇文章的灵感来源来自今天下班前与同事的小小争论,我现在开发的一个项目中,有这样一段代码:public string ToXML() { string strXml = string.Empty; try { MemoryStream ms = new MemoryStream(); XmlSerializer xml = new XmlSerializer(this.GetType()); xml.Serialize(m... 阅读全文
posted @ 2012-06-21 09:14 Ruiky 阅读(331) 评论(3) 推荐(0) 编辑
摘要:网上比较多讲述如何操作Excel表的文章,但都是启动Excel的窗口来打开Excel数据文件。有时候需要把Excel表嵌入到自己程序的Form中,给客户一个不用切换窗口的操作界面,似乎更好。这在VC中用OLE技术很容易实现,但是在C#中方法就不一样啦。下面将就此进行阐述。一、首先简要回顾一下如何操作Excel表先要添加对Excel的引用。选择项目-〉添加引用-〉COM-〉添加Microsoft Excel 9.0。(不同的office讲会有不同版本的dll文件)。using Excel;using System.Reflection;//产生一个Excel.Application的新进程E.. 阅读全文
posted @ 2012-06-12 14:15 Ruiky 阅读(1189) 评论(1) 推荐(2) 编辑
摘要:其实主要是使用API,先在本地映射远程计算机上的文件夹,然后去拷贝,原理很简单,直接贴代码吧。 #region 公有属性 private bool lf_SaveCredentials = false; /// <summary> /// 是否在连接上保存身份 /// </summary> public bool SaveCredentials { get { return (lf_SaveCredentials); } set { lf_SaveCredent... 阅读全文
posted @ 2012-05-14 13:35 Ruiky 阅读(920) 评论(0) 推荐(0) 编辑
摘要:原文:http://diditwith.net/2006/10/05/PerformanceOfForeachVsListForEach.aspx今天当我用foreach循环迭代一个List<int>时,我发现我变得更加了解性能问题,而以前我会去迭代一个int的ArrayList,我对此感到一点沾沾自喜。得益于泛型所带来的好处,C#编译器可以用System.Collections.Generics.IEnumerator<int>避免大量的装箱(boxing)操作,相比使用老式的System.Collections.IEnumerator。我开始想:这真的是最快的方式吗 阅读全文
posted @ 2012-05-09 09:49 Ruiky 阅读(6448) 评论(1) 推荐(3) 编辑
摘要:一、非存储过程生成的流水号 /// <summary> /// /// </summary> public static class DataBaseGenerator { /// <summary> /// /// </summary> private static Int64 seed = Int64.Parse(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalMilliseconds.ToString("0")); /// ... 阅读全文
posted @ 2012-04-28 14:20 Ruiky 阅读(4603) 评论(0) 推荐(2) 编辑
摘要:最近收到了很多朋友的来信说希望提供DES的C#代码,但是我个人认为,.NET 提供了很多标准函数,没有必要自己写,所以我也只发布了C++的代码,如果大家一定要熟悉加密过程的话,也可以自己动手实现整个过程,这个可以参考我博客里的DES 算法介绍,和yxyDES2 Class的代码,代码注释相当的清楚。 .NET 提供了很多标准加密、解密函数,我简要介绍一下DES,SHA1,RSA的标准函数的使用。如果你想做一个网络安全模块,只需将三种算法结合起来设计一个模型,我相信可以实现很多复杂的功能。 示例本身并不复杂,我也不做过多解释,我也学Linus Torvalds一样吼一句:"Read t 阅读全文
posted @ 2012-04-16 14:19 Ruiky 阅读(1029) 评论(0) 推荐(1) 编辑
摘要:MD5是一种常见的加密方式,相对比较稳定,同时也是校验文件的一种方式,HZ下面分享net中获取文件md5值的方法, 已经整理,直接使用即可private static string GetMD5HashFromFile(string fileName) { try { FileStream file = new FileStream(fileName, FileMode.Open); System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider(); byte[] 阅读全文
posted @ 2012-04-16 14:12 Ruiky 阅读(32022) 评论(3) 推荐(8) 编辑
摘要:将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。 存储过程的优点 1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。 2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。 3.存储过程可以重复使用,可减少数据库开发人员的工作量 4.安全性高,可... 阅读全文
posted @ 2012-03-26 16:41 Ruiky 阅读(323) 评论(0) 推荐(0) 编辑
摘要:本人转载:http://www.cnblogs.com/cuitsl/archive/2012/01/06/2314636.html与反射的比较 首先能看到的是,dynamic与反射相比,执行相同操作所需的代码少的多。 如调用类Me中的GetName()方法。class Me { public string Blog { get; set; } public string GetName() { return"Zhenxing Zhou"; } }用反射调用GetName()方法:Assembly a = Assembly.GetExecutingAssembly... 阅读全文
posted @ 2012-03-23 11:39 Ruiky 阅读(693) 评论(0) 推荐(0) 编辑
摘要:先自己复习一下,看看下面的C#问题都能回答上来么?1.静态变量和非静态变量的区别?2.const 和 static readonly 区别?3.extern 是什么意思?4.abstract 是什么意思?5.internal 修饰符起什么作用?6.sealed 修饰符是干什么的?7.override 和 overload 的区别?8.什么是索引指示器?9.new 修饰符是起什么作用?10.this 关键字的含义?11.可以使用抽象函数重写基类中的虚函数吗?12.密封类可以有虚函数吗?13.如果基类中的虚属性只有一个属性访问器,那么继承类重写该属性后可以有几个属性访问器?如果基类中有 get 和 阅读全文
posted @ 2012-03-21 15:06 Ruiky 阅读(1485) 评论(4) 推荐(0) 编辑
摘要:log4net是大家在日常开发中非常用的一个开源组件,下载地址:http://logging.apache.org/log4net/download_log4net.cgi。Appdender常用配置 下面介绍的最常用的配置中的几种: 1.ConoleAppender <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> < 阅读全文
posted @ 2012-02-14 09:50 Ruiky 阅读(921) 评论(0) 推荐(0) 编辑
摘要:实现的功能(C#的树控件 - TreeView控件):1、右击树节点所在区域时,才会弹出快捷菜单(右键菜单)。2、树控件失去焦点时,被选中的节点,仍然高亮显示。先看效果:图1 失去焦点时仍然高亮显示(颜色可以自己设置)图2 只会在选中的节点右下方弹出菜单实现方法详解(有时间再写):实现的代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;usin 阅读全文
posted @ 2012-01-19 11:10 Ruiky 阅读(10667) 评论(0) 推荐(2) 编辑
摘要:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;using System.Reflection;using System.Xml;using System.Xml.Linq;using System.Windows.Forms;using System.Net;/*Xml操作类:Ruiky 2011-12-28*/namespace FinanceGrab.Common.Util{ public class XmlUtil { private st 阅读全文
posted @ 2011-12-29 13:34 Ruiky 阅读(348) 评论(0) 推荐(0) 编辑
摘要:不解释···直接上代码,下次可以copyusing System;using System.Collections;using System.Globalization;using System.Text;using System.Threading;using Microsoft.VisualBasic;using Microsoft.Office.Interop.Word;using System.Reflection;namespace WindowsFormsApplication1{ /// <summary> /// 汉字转拼音工具。 // 阅读全文
posted @ 2011-12-26 12:43 Ruiky 阅读(1522) 评论(2) 推荐(0) 编辑
摘要:Func,Action 的介绍及其用法Func是一种委托,这是在3.5里面新增的,2.0里面我们使用委托是用Delegate,Func位于System.Core命名空间下,使用委托可以提升效率,例如在反射中使用就可以弥补反射所损失的性能。Action<T>和Func<T,TResult>的功能是一样的,只是Action<T>没有返类型,Func<T,T,Result>:有参数,有返回类型Action,则既没有返回也没有参数,Func<T,TResult> 的表现形式分为以下几种:1。Func<T,TResult>2。Fun 阅读全文
posted @ 2011-12-22 10:34 Ruiky 阅读(696) 评论(0) 推荐(0) 编辑
摘要:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.ComponentModel;usingSystem.Windows.Forms;usingSystem.IO;usingSystem.Threading;usingSystem.Text.RegularExpressions;namespaceYyc.Net{///<summary> ///获取网站异步源码类 ///</summary> publicclassPageSnatch{ #regionfield privateW 阅读全文
posted @ 2011-12-22 10:16 Ruiky 阅读(8476) 评论(9) 推荐(1) 编辑

1