随笔分类 - 开发 - .NET/C#

摘要:DLR(Dynamic Language Runtime),是微软主导的一个开源项目。为.NET应用程序,提供了脚本技持。目前版本为0.9,你可以从Codeplex获得源码。 阅读全文
posted @ 2012-11-27 10:47 脸谱匠 阅读(514) 评论(0) 推荐(0) 编辑
摘要:C# 关于"yield return"的研究。转载自:http://hi.baidu.com/algorithmanlxl/item/d94211d17a831c2039f6f792 阅读全文
posted @ 2012-11-26 15:17 脸谱匠 阅读(613) 评论(0) 推荐(1) 编辑
摘要:保存xml时,将DataTable写到DataSet的Tables中时,用DataTable.Copy()无法拷贝完整的数据。从xml中读取数据时,将DataSet中的相应的Table值赋予给DataTable,通过之前的绑定,直接给控件赋值。绑定失败可能是什么原因导致的。 阅读全文
posted @ 2012-11-23 11:04 脸谱匠 阅读(1824) 评论(0) 推荐(0) 编辑
摘要:项目中经常使用DataTable,发现有好多东西,需要整理下 阅读全文
posted @ 2012-11-23 09:39 脸谱匠 阅读(694) 评论(0) 推荐(0) 编辑
摘要:Control类有一个公共的属性是DataBindings,它可以将控件的属性与其他的数据绑定在一起。我接触到的有将两个控件的数据绑定、将控件的属性与DataTable绑定。在将多个radioButton的Checked属性与DataTable绑定时,要注意修改DataSourceUpdateMode,否则会导致数据绑定出乱子 阅读全文
posted @ 2012-11-22 15:32 脸谱匠 阅读(4581) 评论(0) 推荐(1) 编辑
摘要:传递给方法的参数为类(class)时,在方法中所做的修改赋值不一定会最终改变到原始的变量上。 这取决于在方法里面,有没有对传入的参数做赋值的操作。如果对其重新赋值,指向另一个的引用地址,则之后所做的修改全部不会保留。 阅读全文
posted @ 2012-11-21 14:34 脸谱匠 阅读(4445) 评论(2) 推荐(3) 编辑
摘要:所谓的协变,可以理解成:父类 -> 子类。父类的对象用子类替换,也可以理解成子类当父类用。 所谓的抗变,可以理解成:子类 -> 父类。子类的对象用父类替换,也可以理解成父类当子类用。抗变也常常翻译为逆变。 阅读全文
posted @ 2012-11-16 11:20 脸谱匠 阅读(4354) 评论(2) 推荐(0) 编辑
摘要:将两个集合融合到一个集合里面,同时去除相同的成员。很多人会想到用Union,Distinct等函数实现。这两个函数可以解决大部分的问题。根据处理的对象的类型不同,实现需求的代码和原理都不一样。本篇分为系统自带值类型、系统自带引用类型、自定义值类型、自定义引用类型等四种情况来分别阐述解决方法和相应原理。 阅读全文
posted @ 2012-11-10 10:55 脸谱匠 阅读(1972) 评论(1) 推荐(2) 编辑
摘要:针对MessageBox的自动关闭功能扩展了一个类和一个静态方法。主要的思路是在MessageBox.Show之前打开一个计时器,计时器的间隔时间由外部通过函数传入。到了计时器的间隔时间后,调用系统的API函数FindWindow和EndDialog来找到弹出窗口并关闭窗口。接着停止计时器,释放资源。 阅读全文
posted @ 2012-11-08 14:23 脸谱匠 阅读(11372) 评论(10) 推荐(8) 编辑
摘要:抽象类是一个不完全的类,类里面有抽象的方法,属性,也可以有具体的方法和属性,需要进一步的专业化。但接口是一个行为的规范,里面的所有东西都是抽象的! 抽象方法只有声明没有实现,需要在子类中实现;虚拟方法有声明和实现,并且可以在子类中覆盖,也可以不覆盖使用父类的默认实现。 阅读全文
posted @ 2012-11-08 14:05 脸谱匠 阅读(352) 评论(0) 推荐(1) 编辑
摘要:根据最后的执行结果,我们可以清晰的看到textBox的事件执行顺序为Enter、GotFocus、LostFocus、Leave、Validating、Validated,也就是说程序先“进入”控件,然后控件“得到焦点”,紧接着控件“失去焦点”,此时前台输入的值已经写入控件属性,然后“离开”控件,开始“校验”,最后发生“校验完”事件。 而DataGridView的行事件执行顺序为RowEnter、RowLeave、RowValidating、RowValidated,顺序与textBox的事件执行顺序可以说一致,但有一个很大的区别,前台输入值写入控件的时间。相较于textbox在Leave事件之前就写入,DataGridView却是在RowLeave事件之后才写入控件的属性。 阅读全文
posted @ 2012-10-29 15:43 脸谱匠 阅读(2316) 评论(0) 推荐(0) 编辑
摘要:本篇介绍.net的控件DataGridView的常见使用: 1.取得或者修改当前单元格的内容; 2.设定单元格只读; 3.不显示最下面的新行; 4.判断新增行; 5.行的用户删除操作的自定义; 6.行、列的隐藏和删除; 7.禁止列或者行的 Resize .; 8.列宽和行高以及列头的高度和行头的宽度的自动调整; 9.冻结列或行; 10.列顺序的调整; 11.行头列头的单元格; 12.剪切板的操作; 13.单元格的 ToolTip的设置; 14.右键菜单(ContextMenuStrip)的设置; 15.单元格的边框、网格线样式的设定; 16.单元格表示值的设定; 17.用户输入时单元格输入值的设定; 18.设定新加行的默认值 阅读全文
posted @ 2012-10-22 16:19 脸谱匠 阅读(8150) 评论(2) 推荐(1) 编辑
摘要:常见的传递对象是数据。委托的本质是为了把方法作为参数传递给其他方法。深层的用法和原理可以参考事件Event。本篇采用将委托的逐层优化,辅以代码的方式表达出来。内容涵盖委托,匿名委托,匿名方法,lambda表达式。希望能给那些刚接触c#委托,以及对委托不太理解的难友一些提示和帮助。 阅读全文
posted @ 2012-10-09 16:22 脸谱匠 阅读(2100) 评论(1) 推荐(0) 编辑
摘要: 如何调用.net自带的chart控件绘制理想的pie图 阅读全文
posted @ 2012-10-08 13:41 脸谱匠 阅读(24446) 评论(1) 推荐(1) 编辑
摘要:集合的Skip,Take,Select和Aggregate的使用。这些方法都来自LinQ的扩展。它们可以针对集合内部的元素进行处理和内部运算。避免了一次又一次的foreach,使代码简洁易懂。 阅读全文
posted @ 2012-09-21 11:18 脸谱匠 阅读(2224) 评论(0) 推荐(0) 编辑
摘要:c#正则表达式 特殊格式内容的提取.主要用到的是正则里面的匹配和分组。 阅读全文
posted @ 2012-09-19 14:29 脸谱匠 阅读(714) 评论(0) 推荐(0) 编辑
摘要:多个int的list,每个集合任取一个,求组合。主要取用Join函数来实现。 阅读全文
posted @ 2012-09-13 09:34 脸谱匠 阅读(3403) 评论(0) 推荐(1) 编辑
摘要:IEnumerable的Except用法 阅读全文
posted @ 2012-09-11 16:20 脸谱匠 阅读(1639) 评论(0) 推荐(0) 编辑