51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#新类型
【转】编写高质量代码改善C#程序的157个建议——建议45:为泛型类型参数指定逆变
建议45:为泛型类型参数指定逆变逆变是指方法的参数可以是委托或者泛型接口的参数类型的基类。FCL4.0中支持逆变的常用委托有:Func<intT,outTResult>Predicate<inT>常用委托有:IComparer<inT>下面例子演示了泛型类型参数指定逆变所...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
【转】编写高质量代码改善C#程序的157个建议——建议35:使用default为泛型类型变量指定初始值
建议35:使用default为泛型类型变量指定初始值 有些算法,比如泛型集合List<T>的Find算法,所查找的对象可能会是值类型,也有可能是引用类型。在这种算法内部,我们常常会为这些值类型或引用类型变量指定默认值。于是,问题来了:值类型变量的默认初始值是0值,而引用类型变量的默认初...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
【转】编写高质量代码改善C#程序的157个建议——建议33:避免在泛型类型中声明静态成员
建议33:避免在泛型类型中声明静态成员在上一建议中,已经理解了应该将MyList<int>和MyList<string>视作两个完全不同的类型,所以,不应该将MyList<T>中的静态成员理解成MyList<int>和MyList<string>共...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
【转】编写高质量代码改善C#程序的157个建议——建议26:使用匿名类型存储LINQ查询结果
建议26:使用匿名类型存储LINQ查询结果从.NET3.0开始,C#开始支持一个新特性:匿名类型。匿名类型有var、赋值运算符和一个非空初始值(或以new开头的初始化项)组成。匿名类型有如下基本特性:即支持简单类型也指出复杂类型。简单类型必须是一个非空初始值,复杂类型则是一个以new开头的初始化项。匿名类型...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
【转】编写高质量代码改善C#程序的157个建议——建议13: 为类型输出格式化字符串
建议13:为类型输出格式化字符串有两种方法可以为类型提供格式化的字符串输出。一种是意识到类型会产生格式化字符串输出,于是让类型继承接口IFormattable。这对类型来说,是一种主动实现的方式,要求开发者可以预见类型在格式化方面的要求。更多的时候,类型的使用者需为类型自定义格式化器,这就是第二种方法,也是...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
【转】编写高质量代码改善C#程序的157个建议——建议8: 避免给枚举类型的元素提供显式的值
建议8:避免给枚举类型的元素提供显式的值一般情况下,没有必要给枚举类型的元素提供显式的值。创建枚举的理由之一,就是为了代替使用实际的数值。不正确地为枚举类型的元素设定显式的值,会带来意想不到的错误。如果为建议7中的枚举类型Week增加一个元素,代码如下所示:enumWeek{Monday=1,Tuesday...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
【转】编写高质量代码改善C#程序的157个建议——建议5: 使用int?来确保值类型也可以为null
建议5:使用int?来确保值类型也可以为null基元类型为什么需要为null?考虑两个场景:1)数据库中一个int字段可以被设置为null。在C#中,值被取出来后,为了将它赋值给int类型,不得不首先判断一下它是否为null。如果将null直接赋值给int类型,会引发异常。2)在一个分布式系统中,服务器需要...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
动态类型识别&动态创建
以下大部分内容摘自《windows程序设计第2版》王艳平张铮编著动态类型识别:在程序运行过程中,辨别对象是否属于特定类的技术。应用举例:函数辨别参数类型、需要针对对象的类编写特定的代码。CRuntimeClass包含类信息(不仅包含一般的信息,还包括创建类的函数指针)#include<iostream>#i...
代码星球
·
2020-04-06
动态
类型
识别
创建
js如何判断一个值是不是Array类型
本来判断一个对象类型用typeof是最好的,不过对于Array类型是不适用的可以使用instanceof操作符vararrayStr=newArray("1","2","3","4","5");alert(arrayStrinstanceofArray);当然以上在一个简单的页面布局里面是没有问题的,如果是复杂页面情况...
代码星球
·
2020-04-06
js
如何
判断
一个
是不是
当在Win8下安装msi类型的文件出现errorcode 2503的解决方法
在Win8中,在安装msi安装包的时候常常会出现代码为2502、2503的错误。其实这种错误是由于安装权限不足造成的,可以这种msi的安装包不像其他exe的安装程序,在安装包上点击“右键”之后没有“以管理员身份运行”的选项。那么,在Win8中安装程序出现250...
代码星球
·
2020-04-06
当在
Win8
安装
msi
类型
【转】编写高质量代码改善C#程序的157个建议——建议137:委托和事件类型应添加上级后缀
建议137:委托和事件类型应添加上级后缀委托类型本身是一个类,考虑让派生类的名字以基类名字作为后缀。事件类型是一类特殊的委托,所以事件类型也遵循本建议。委托和事件的正确的命名方式有:publicdelegatevoidHttpContinueDelegate(intstatusCode,System.Net...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
【转】编写高质量代码改善C#程序的157个建议——建议136:优先使用后缀表示已有类型的新版本
建议136:优先使用后缀表示已有类型的新版本 加后缀在某些情况下是很奇怪的形式,我们都不愿意看到OrderProcessor2这样的类型。但是,有的时候仍旧有必要这样做。最典型的是FCL中关于数字证书操作的X509Certificate和X509Certificate2这两个类型。 X5...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
【转】编写高质量代码改善C#程序的157个建议——建议130:以复数命名枚举类型,以单数命名枚举元素
建议130:以复数命名枚举类型,以单数命名枚举元素枚举类型应该具有负数形式,它表达的是将一组相关元素组合起来的语义。比如:enumWeek{Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday}在这里,Week对于星期几来说,具备复数含义。如果我们...
代码星球
·
2020-04-06
建议
命名
枚举
编写
高质量
【转】编写高质量代码改善C#程序的157个建议——建议129:泛型类型参数要以T作为前缀
建议129:泛型类型参数要以T作为前缀作为一种约定,泛型类型的参数要以T作为前缀。如委托声明:Action<T1,T2>其中,泛型类型参数名不应该处理成:Action<Arg1,Arg2>当然,这仅仅是一种习惯,若果使用第二种命名方式,编译器并不会报错,但是作为调用者,也许不能意识到...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
【转】编写高质量代码改善C#程序的157个建议——建议126:用名词和名词组给类型命名
建议126:用名词和名词组给类型命名类型对应着现实世界中的实际对象。对象在语言中意味着它是一个名词。所以,类型也应该以名词或名词词组去命名。类型定义了属性和行为。虽然它包含行为,但不是行为本身。所以,下面的一些命名对于类型来说是好的命名:OrderProcessorScoreManagerCourseRep...
代码星球
·
2020-04-06
建议
编写
高质量
代码
改善
首页
上一页
...
73
74
75
76
77
...
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他