C#
文章平均质量分 78
bloodish
这个作者很懒,什么都没留下…
展开
-
C# Tip -- 巧用??运算符
?? MSDN注解:如果 ?? 运算符的左操作数非空,该运算符将返回左操作数,否则返回右操作数作为C# 2.0新增的一个运算符,实际使用中并不多,但是如果能够巧妙运用,会有意想不到的效果示例1,初始化对象public class Program{ class MyClass {} static MyClass instance; static void Main() { //如果instance == null,则做初始化原创 2011-03-02 15:32:00 · 437 阅读 · 0 评论 -
C# Tip -- 如何优雅的控制线程状态
先问读者一个问题,如果想控制一个线程(Thread)挂起,继续,结束你会优先选择如何处理?从面试的经验来看,多数的面试者都会说Thread不是提供了Suspend,Resume,Abort等方法吗,直接调用就好了,简单快捷.但很多情况下简单就是美只是一个谎言而已.Suspend,Resume已经被MS标注为过时的方法,不建议用户使用,MS推荐通过同步控制来管理线程状态. 再问读者一个问题,如果一个线程池中的线程的挂起,继续,结束你会优先选择如何处理?也许有人会说,既然没法用API了,那我原创 2011-03-04 11:35:00 · 1863 阅读 · 0 评论 -
C# Tip -- Component 子类标准化事件实现机制
Component类默认对事件链做了支持,通过操作其属性Events,可大大简化了事件的添加移除的逻辑.Events是一个Key-EventHandler的集合,但并没有按哈希表的方式进行实现,具体的实现方式不在此累述.任何继承自Component的子类都能从此获益,如果需要新增事件可以按如下方法处理: 先说明一个细节:如果我们要添加一个EventHandler形式的委托作为事件的类型:即返回void,参数列表为(object,EventArgs),推荐的做法是添加一个EventAr原创 2011-03-03 10:16:00 · 664 阅读 · 0 评论 -
C# Tip -- C#实现MySQL数据库的备份和还原
这篇放到单独讲解数据库的分类比较好,不过作为技巧性的东西,不强求怎么分类,且听我徐徐道来.备份方法:先通过注册表得到MySQL程序的安装路径,如果是5.0版本,就是: var registerLocation = @"Software/MySQL AB/MySQL Server 5.0"; var key = Registry.LocalMachine.OpenSubKey(registerLocation);原创 2011-03-09 11:21:00 · 1396 阅读 · 1 评论