
编程语言
morphyyang
专注于网络游戏架构及服务器端开发
展开
-
关于c#泛类型参数T的约束
c#支持泛式编程,在我们定义泛型类时,可以加入泛类型参数T的约束。为什么需要参数约束呢,官方是这么说的: 如果要检查泛型列表中的某个项以确定它是否有效,或者将它与其他某个项进行比较,则编译器必须在一定程度上保证它需要调用的运算符或方法将受到客户端代码可能指定的任何类型参数的支持。 当实例化类时用于类型参数的类型种类施加限制。如果实现代码尝试使用某个约束所不允许的类型来实例化类,则会产生编译原创 2014-06-04 17:22:39 · 1295 阅读 · 0 评论 -
c#中yield的用法详解
一. yield是c#2.0以后为了简化迭代器加入的一个新特性。 yield 关键字只允许出现在在迭代器块中,有两种用法: 1. yield return ; 这是一个隐式转换的返回值,将计算 expression 并将结果以值的形式返回给枚举器对象。expression 必须可以隐式转换为 yield 类型的迭代器,且必须为IEnumerable、IEnumerable、IEnumera原创 2014-06-04 17:23:25 · 1503 阅读 · 0 评论 -
c#中const与readonly的区别
C#中定义常量有两种方式,一种叫做静态常量,使用“const”关键字定义,const定义的值是在编译期间确定的。只能在声明时通过常量表达式指定其值。另一种叫做动态常量,用“readonly”关键字来定义。两者区别如下: 1. const只能修饰基元类型、枚举类型或字符串类型,即限制const类型必须属于值类型范围,且其值不能通过new来进行设置,readonly没有限制; 2. con原创 2014-06-04 17:22:54 · 648 阅读 · 0 评论