这些天我正在为 Web 应用程序做很多 C# 编程。我的团队还没有决定我们应该使用基本类型还是复杂类型。
不同类型的优势是什么?
费克斯:
Object vs object
Boolean vs bool
等等...
谢谢!
这些天我正在为 Web 应用程序做很多 C# 编程。我的团队还没有决定我们应该使用基本类型还是复杂类型。
不同类型的优势是什么?
费克斯:
Object vs object
Boolean vs bool
等等...
谢谢!
没有区别 -bool
是 的别名Boolean
,object
是 的别名Object
。但是,惯用的 C# 会让您使用object
, bool
,int
等。
请注意,默认情况下,StyleCop 将强制执行此做法。相关规则为SA1121。
当然,对于该规则是否有效存在不同的意见。我建议阅读这个 SO 问题:C# - StyleCop - SA1121: UseBuiltInTypeAlias - Readability Rules。
c#:“System.Object”和“object”之间的区别
乔恩斯基特:
string 是 global::System.String 的别名。它只是语法糖。两者完全可以互换,编译后的代码没有区别。
我个人将别名用于变量名称等,但我将 CLR 类型名称用于 API 中的名称,例如:
public int ReadInt32() // Good, language-neutral public int ReadInt() // Bad, assumes C# meaning of "int"
(请注意,返回类型并不是真正的名称——它被编码为元数据中的一种类型,所以那里没有混淆。)
object === System.Object
string === System.String
bool === System.Boolean
byte === System.Byte
sbyte === System.SByte
short === System.Int16
ushort === System.UInt16
int === System.Int32
uint === System.UInt32
long === System.Int64
ulong === System.UInt64
float === System.Single
double === System.Double
decimal === System.Decimal
char === System.Char