1. 可空类型修饰符( ? ) 引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空。 例如:string str=null; 是正确的,int i=null; 编译器就会报错。 为了使值类型也可为空,就可以使用可空类型,即用可空类型修饰符"?"来表示,表现形式为"T?" 例如:int...
本书是在.NET框架下用C#语言实现数据结构和算法的第一本全面的参考书。本书介绍的方法非常实用,采用了时间测试而非大O表示法来分析算法性能。内容涵盖了数据结构和算法的基本原理,涉及数组、广义表、链表、散列表、树、图、排序搜索算法以及更多概率算法和动态规则等高级算法。此外,书中还提供了.NET框架类库...
protobuf repeated 类型与C++的Vector,list类似,这里可以理解为指定类型的数组。首先定义一个protobuf结构,如下://进入房间(广播)message Actor_GamerEnterRoom_Ntt // IActorMessage{int32 RpcId = 90...
C#语法——委托,架构的血液本篇文章主要介绍委托的应用。委托是大家最常见的语法了,但会用与精通之间的差别是巨大的。一个程序员如果不能精通委托,那么,他永远无法成为一个架构师。所以,委托是必须掌握的技能之一。委托的定义什么是委托?委托实际上是一种类型,是一种引用类型。微软用delegate关键字来声明...
本篇文章主要介绍C#反射【用法】。反射是架构师必会的基础,因为任何一个被设计出来的框架,都要使用反射。反射也是最隐蔽的语法,因为反射写出来后,通常它会被直接封装,然后调用者就只负责使用,不再关注他的具体实现。这与它的特性有关,因为反射就是为了减少代码冗余而存在的,所以,看不见很正常。反射的定义官方定...