摘要:
摘自:http://www.cnblogs.com/zhangyanhai/archive/2013/10/09/3359285.html1、在C#编程中,字符型类型是最容易处理出错的地方,代价是非常昂贵,在.Net Framwork中,字符串是一个相当特别的引用类型,string本省就是一个不可继承的密封类,但是它具有了值类型所应用的特点,但是它在CLR中内 存还是保存于托管堆之上,也就是说,当我们每次定义一个字符串类型的时候,就在堆内存中开辟一端内存,而当我们字符串被修改之后,它会创建一个新的内存, 注意这里的内存是不连续的,而是通过修改栈内地址引用而拼凑字符串,不会改变源字符串在内存中的 阅读全文
posted @ 2013-10-22 18:52
nygfcn
阅读(169)
评论(0)
推荐(0)
摘要:
看了半天没看明白什么意思,看到这个博客写得很清晰,呵呵:http://www.cnblogs.com/zhangyanhai/archive/2013/10/11/3363787.html在定义泛型类时,可以对客户端代码能够在实例化类时用于类型参数的类型种类施加限制。如果客户端代码尝试使用某个约束所不允许的类型来实例化类,则会产生编译时错误。这些限制称为约束。约束是使用 where 上下文关键字指定的。下表列出了六种类型的约束:约束说明T:结构类型参数必须是值类型。可以指定除 Nullable 以外的任何值类型。有关更多信息,请参见使用可空类型(C# 编程指南)。T:类类型参数必须是引用类型, 阅读全文
posted @ 2013-10-22 18:44
nygfcn
阅读(270)
评论(0)
推荐(0)
摘要:
bool? 可以为 null 的类型可以包含三个不同的值:true、false 和 null。若要在条件语句中使用 bool?,请首先检查其 HasValue 属性以确保其值不是 null,然后将它强制转换为 bool。如: bool? test = null; ...// Other code that may or may not // give a value to test. if(!test.HasValue) //check for a value { ... 阅读全文
posted @ 2013-10-22 17:28
nygfcn
阅读(729)
评论(0)
推荐(0)
摘要:
?? 运算符定义在将可以为 null 的类型分配给非可以为 null 的类型时返回的默认值。int? c = null;// d = c, unless c is null, in which case d = -1.int d = c ?? -1;此运算符还可用于多个可以为 null 的类型。例如:int? e = null;int? f = null;// g = e or f, unless e and f are both null, in which case g = -1.int g = e ?? f ?? -1; 阅读全文
posted @ 2013-10-22 17:25
nygfcn
阅读(210)
评论(0)
推荐(0)
摘要:
yield return 及 yield break,创建迭代器,没用过这个语法,挺好用哦,具体见 http://msdn.microsoft.com/zh-cn/library/dscyy5s0%28v=vs.90%29.aspx 阅读全文
posted @ 2013-10-22 17:06
nygfcn
阅读(124)
评论(0)
推荐(0)
浙公网安备 33010602011771号