2008年4月8日

繁体的,不过还是能理解的。
下载
原文:http://blog.darkthread.net/blogs/darkthreadtw/archive/2008/03/26/better-winform-ui.aspx
posted @ 2008-04-08 10:20 dz 阅读(82) | 评论 (0)编辑

2008年4月2日

最新发现了一个能证明 string 类型是引用类型的小细节就是:
有时我们会写 string str = Content as string,
as 关键字要求对象是引用类型才行,这不就说明问题了吗?

太忙太久没更新,小小地冒个泡吧~

posted @ 2008-04-02 12:34 dz 阅读(26) | 评论 (0)编辑

2008年3月12日

写了个小程序要添加Gmail ico进去,但是在网上找不到32*32以上大小的,都是16*16的。
于是乎动手制作了一个。

http://www.cnblogs.com/Files/dz2345/g.rar


posted @ 2008-03-12 11:00 dz 阅读(11) | 评论 (2)编辑

2008年2月16日

     摘要: CHAPTER 8, 9, 10   阅读全文
posted @ 2008-02-16 22:00 dz 阅读(25) | 评论 (0)编辑

2008年2月11日

     摘要: Chapter 5 Manipulating Database Data
Chapter 6 Using Stored Procedures
使用存储过程
Chapter 7 Using XML  阅读全文
posted @ 2008-02-11 10:50 dz 阅读(184) | 评论 (0)编辑

2008年2月10日

     摘要: 委托是一种定义了引用方法的类型。我们能为委托分配和它具有相同方法签名的静态或者实例方法。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。它就类似于 C++ 中的函数指针,但委托更安全可靠。委托就像是一类具有相同签名的方法的抽象,把它看作一个类就很好理解了。
一个委托实例可以搭载多个方法。不过要求方法的返回值为空,且不能有输出参数。
一个委托实例所搭载的方法并不需要属于同一个类。  阅读全文
posted @ 2008-02-10 23:37 dz 阅读(164) | 评论 (0)编辑
不知道是不是因为没有总结习惯的关系,很多东西看了过后就忘记了,以至于最近让我不得不重视起来。
1.string 是一种特殊的引用类型。
2.is 检查对象是否与给定类型兼容,返回 true 或者 false,不会抛出异常。
3.as 运算符类似于强制转换操作;但是,如果转换不可行,as 会返回 null 而不是引发异常。
4.接口中,所有的方法都默认为 public;抽象方法所在的类必须为抽象类。
5.readonly 貌似比 const 用途大。
6.可使用 using 关键字自动清除对象资源。using( ) { ··· }
更新中...
      

posted @ 2008-02-10 22:01 dz 阅读(39) | 评论 (3)编辑

2008年2月9日

     摘要:
• PIVOT operator
• ROW_NUMBER() function
• PARTITION BY clause
• Pattern matching
• Aggregate functions
• DATETIME functions
• Joins
  阅读全文
posted @ 2008-02-09 14:13 dz 阅读(249) | 评论 (1)编辑

2008年2月8日

复制 ArrayList 的时候,使用 ArrayList.Clone() 方法复制出来的新 ArrayList 之中元素的值会随着源 ArrayList 中元素的值发生变化而一起改变。
查 MSDN:集合的浅表副本仅复制集合的元素(不论它们是引用类型还是值类型),但不复制引用所引用的对象。新集合中的引用与原始集合中的引用指向相同的对象。与之相对,集合的深层副本将复制这些元素以及由它们直接或间接引用的所有内容。
ArrayList.Clone() 返回值是 ArrayList 的浅表副本。

上网查了一下,大多数是新建一个实例,逐条复制 property,使用 for 实现:
  for (int i = 0; i < arraylist1.Count; i++)
  {
      Class t 
= new Class();    // Class是类名
     
// 下面这句,若类 Class 中若有很多 Property,就要写很多行
      t.property = (Class)arraylist1[i].property;
      arraylist2.Add(t);
  }

我们知道,对于自定义的类,一般通过继承 ICloneable接口,重写 Clone() 方法来自己实现深拷贝。
因此如果类有继承 ICloneable 接口,也可以这么写:
    for (int i = 0; i < list1.Count; i++)
  
{
       
// Clone()返回类型为Object,因此还要转换
      list2.Add( (Class)( ((ICloneable)list1[i]).Clone() ) );
  }

另外让类实现 ISerializable 接口,通过序列化反序列化,我试了一下没有问题:
  MemoryStream ms = new MemoryStream();
  BinaryFormatter bf = new BinaryFormatter();
  bf.Serialize(ms,list1); 
   // list1中元素的类要实现ISerializable接口
  ms.Seek(0, SeekOrigin.Begin);
  ArrayList list2 
= (ArrayList)bf.Deserialize(ms);

对于 ICollection,应该都差不多吧。
参考:http://topic.csdn.net/t/20051026/10/4350726.html
posted @ 2008-02-08 20:02 dz 阅读(141) | 评论 (0)编辑

2008年2月6日

春节快乐~!
posted @ 2008-02-06 23:34 dz 阅读(10) | 评论 (0)编辑

导航

<2008年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

统计

与我联系

常用链接

留言簿(1)

我参与的团队

我的标签

随笔档案

Links

最新随笔

搜索