摘要: 示例代码 1 public static void Main() 2 { 3 string strA = "abcdef"; 4 string strB = "abcdef"; 5 Console.WriteLine(ReferenceEquals(strA, strB)); 6 string strC = "abc"; 7 string strD = strC + "def"; 8 Console.WriteLine(ReferenceEquals(strA, strD)); 9 strD = String.In 阅读全文
posted @ 2011-05-05 11:43 高导 阅读(295) 评论(0) 推荐(0)
摘要: System.Object是所有类型的基类,任何类型都直接或间接继承自System.Object类。没有指定基类的类型都默认继承于System.Object,从而具有Object的基本特性,这些特性主要包括: 通过GetType方法,获取对象类型信息。 通过Equals、ReferenceEquals和==,实现对象判等。 通过ToString方法,获取对象字符串信息 ,默认返回对象类型全名。 通过MemberwiseClone方法,实现对象实例的浅拷贝。 通过GetHashCode方法,获取对象的值的散列码。 通过Finalize方法,在垃圾回收时进行资源清理。1.ToString解析 T. 阅读全文
posted @ 2011-05-05 11:09 高导 阅读(298) 评论(0) 推荐(0)
摘要: 1.Flags 以Flags特性来将枚举数值看作位标记,而非单独的数值如果没有DllImport程序会报错。示例代码 1 [Flags] 2 enum Animal 3 { 4 Dog = 1, 5 Cat = 2, 6 Duck = 4, 7 Chicken = 8 8 } 9 10 public class Test11 {12 public static void Main()13 {14 Animal ans = Animal.Cat | Animal.Dog;15 Console.WriteLine(ans.ToString());16 }17 }如果没有Flags特性,这里的结果将 阅读全文
posted @ 2011-04-27 17:30 高导 阅读(294) 评论(0) 推荐(0)
摘要: z1.在适当的情况下对对象实现弱引用。 为对象实现弱引用,是有效提高性能的手段之一。弱引用是对象引用的一种“中间态”,实现了对象既可以通过GC回收其内存,又可被应用程序访问的机制。这种看似矛盾的解释,的确对胖对象的内存性能带来提升,因为胖对象需要大量的内存来创建,弱引用机制保证了胖对象在内存不足时GC可以回收,而不影响内存使用,在没有被GC回收前又可以再次引用该对象,从而达到空间与时间的双重节约。 在.NET中,WeakReference类用于表示弱引用,通过其Target属性来表示要追踪的对象,通过其值赋给变量来创建目标对象的强引用实例代码 1 namespace Project3 2 { 阅读全文
posted @ 2011-04-25 17:00 高导 阅读(506) 评论(1) 推荐(1)
摘要: 我是个新手,虽然在某个领域还算可以,但是在net,还算个新手。还需要向各位学习。今天做了个例子,是把相同地域的学生进行分组。想看看2种方式的区别,有很多不懂地方,还要向大侠请教。有个方法是别人帮我编写的,还有些不懂。请教下。实例代码 1 public class Student 2 { 3 public string Name { get; set; } 4 public string City { get; set; } 5 } 6 7 /// <summary> 8 /// 存放分组结果 9 /// </summary> 10 class StudentGroup 阅读全文
posted @ 2011-04-20 17:27 高导 阅读(392) 评论(0) 推荐(0)
摘要: ref和out的区别当使用ref关键字时,传递到ref参数的变量必须事先初始化,而与 out不同,out 的参数在传递前不需要初始化使用out传递时,在被调用方法中需要对数组进行赋值,这个是需要注意的地方;使用ref时,和上述的要求一样,需要先进行初始化,即由调用方明确赋值,所以不需要由被调用方明确赋值params关键字:params 关键字可以指定在参数数目可变处采用参数的方法参数,在使用时要注意几点:1.在方法声明中的params关键字后,不允许再出现其他参数2.在方法声明中只允许使用一个params关键字Ref是有进有出, out是只出不进。is就是处于对类型的判断。返回true和fal 阅读全文
posted @ 2010-12-10 16:45 高导 阅读(514) 评论(0) 推荐(0)
摘要: 首先是三张表, CNo对应的是课程,在这里我就粘贴了。 主表 人名表按照常规查询SELECT s.SName, c.CName,s2.SCgrade FROM S s INNER JOIN SC s2 ON s2.SNo = s.SNo INNER JOIN C c ON c.CNo = s2.CNo那么结果是这样的但是这是横表 不是我想看到的结果。我们要看到这样的结果:那么怎么办呢? 第一种写法:SELECT w.SName, sum(case when w.CNo= 1 then w.SCgrade ELSE 0 END) AS '语文', sum(case WHEN w. 阅读全文
posted @ 2010-12-10 16:13 高导 阅读(1071) 评论(2) 推荐(2)
摘要: 在SQL Server ,采用1,2,4,8,16.....等用数字标识的状态字段可以进行累加,对存在的几种状态进行组合,从而可形成各种组合状态例如:一条记录该字段原来的数字是,2,如我们想加上4,则可以用update t_User set iFlag = iFlag | 4 where UserID = 1(iFlag 为该字段名)例2:在加上4之后我们想去掉4怎么办呢,可以这样实现update t_User set iFlag = iFlag ^4 where UserID = 1这样就又把4从该记录中去掉了.如果我们想选择所有为2的记录该怎么做呢,可以这样实现select * from 阅读全文
posted @ 2010-12-10 14:28 高导 阅读(2172) 评论(3) 推荐(2)