C#
文章平均质量分 62
classfactory
这个作者很懒,什么都没留下…
展开
-
.NET 2.0 基础类库中的范型——Functional Programming
Functional Programming Functional Programming 不是一个新鲜的概念了,例如 C++ 虽然不是一门 Functional Programming 语言,但对它也有变通的支持——通过使用模板,函数对象(Function Objects)和运算符重载等手段,STL、Boost 等库提供了巧妙无比的、高性能的算法和功能。长久以来似乎 C++ 能实现的这些特性对于原创 2004-07-20 21:37:00 · 1173 阅读 · 0 评论 -
.NET 2.0 基础类库中的范型——其他范型类
其他范型类 .NET 2.0 基础类库对范型的应用当然并不仅限于范型集合和 Functional Programming。下面所列的范型类也都有其明确的设计目的和用途。 Array 在.NET 2.0中,Array 类扩充了对范型编程的支持。当然,Array类本身并不是范型类(出于兼容的考虑),而是提供了一系列支持范型的方法。除了前面提到的 Functional Programming 的支持外,原创 2004-07-20 21:41:00 · 1267 阅读 · 0 评论 -
.NET 2.0 基础类库中的范型——范型集合
范型集合 毫无疑问,范型最典型的应用莫过于范型集合了。在 .NET 2.0 中提供了已有集合类和接口的范型版本,它们位于 System.Collections.Generic 命名空间中。 .NET 2.0 中新的范型集合类并不是简单的在已有非范型集合类的设计上多加了个范型参数 T 而已。新的范型集合类的设计充分吸收了已有设计中的合理之处并摒弃了一些不甚合理之处,同时引入了新的针对范型的设计。所以原创 2004-07-20 21:33:00 · 1671 阅读 · 1 评论 -
C++ 和 C# 构造函数的区别
(1)C++ 不允许在一个构造函数中调用另外一个构造函数(称为委派构造函数调用),而 C# 则允许。例如:C++:struct Point {public: int X, Y; Point(int x, int y); Point(Point pt) : Point(pt.X, pt.Y) { } // 错误,C++ 不允许};C#:struct Point {原创 2004-08-04 21:28:00 · 2490 阅读 · 1 评论 -
Windows Forms 1.x 批判
(1)控件少、难以使用且外观很土。其中最夸张的是 ToolBar 控件:(1)设计者认为你对全部按钮要么都使用图标,要么都使用文本标签,否则就是脑子进水了;(2)如果你尝试在 ToolBar 上放置其他控件(如组合框)的话你是在跟自己过不去;(3)最受不了的是居然要用 if ... else 语句判断是哪个按钮被单击了,My God!难怪网上一直流传 Windows Forms 的控件是高中生写的原创 2004-09-05 16:52:00 · 1256 阅读 · 1 评论 -
C# 2.0 匿名方法与 Windows Forms 异步调用
C# 2.0 匿名方法大大简化了 Windows Forms 异步调用的实现,我们再也不用手工定义异步委托或者包装类了。例如,在下面的代码示例中,Form1 有一个按钮控件和一个列表控件,在按钮控件的单击事件里,我们新建一个线程,在这个线程中向列表控件添加 10 个项目:public class Form1 : System.Windows.Forms.Form{ private Sys原创 2004-10-02 12:08:00 · 1419 阅读 · 0 评论 -
使用 GDI+ 绘制有间距的文本
在 .NET Framework 中 Graphics.DrawString 方法提供了基本的文本绘制功能。然而,这个方法本身缺乏对字符格式的控制能力,例如不支持多数文本处理器支持的字符间距(大概微软认为不会有人编写基于 .NET 的文本处理器)。这个问题最简单的解决方法是将整个字符串“化整为零”,一个字符一个字符的按照指定间距画出来。然而这样做会产生大量的临时字符串,而且有巨大的 PInvoke原创 2004-10-25 11:56:00 · 6496 阅读 · 0 评论