string或String,int或Int32,byte还是Byte?您更喜欢哪个?为什么?

时间:2011-03-16 06:00:33

标签: .net syntax

  

可能重复:
  String vs string in C#

是的,我知道两种风格都可以,但是哪种更好,为什么?

4 个答案:

答案 0 :(得分:1)

在大多数情况下,它受到意见。

不那么有争议的事实:

  • 始终使用您的团队已经使用的任何一种,或者您的编码标准要求
  • 支持关键字样式,它不需要using声明。
  • 在代码生成器的输出中,使用完全限定名称对代码来说不那么痛苦;否则你必须包括关键字类型的特殊处理
  • 在命名属性或方法时,应使用类型名称,而不是关键字名称。它必须可以跨.Net语言进行翻译

如果它是一个新项目,并且您可以控制编码风格,请使用您喜欢的项目。

除了方法/属性命名要求之外,我看到有人说他们更喜欢非关键字类型名称,因此它可以在.Net语言中更直接地浏览。我对此意见的看法是将代码编写为您所使用的语言。

答案 1 :(得分:0)

读取此线程String vs string in C#,它与String和string

有关

答案 2 :(得分:0)

之前在StackOverFlow中提出过类似的问题。并给出了答案。有关详细信息,请参阅以下链接:

https://stackoverflow.com/questions/215255/string-vs-string-in-c#

答案 3 :(得分:0)

我将添加StyleCop(http://stylecop.codeplex.com/)“更喜欢”小写“版本。

SA1121 Readability Rules UseBuiltInTypeAlias
  

违反此规则时会发生   使用以下类型之一   代码中的任何位置:Array,Boolean,   字节,字符,十进制,双,Int16,   Int32,Int64,Object,SByte,Single,   String,UInt16,UInt32,UInt64。

     

任何违规行为也会发生   这些类型表示在   使用完整命名空间的代码   type:System.Array,System.Boolean,   System.Byte,System.Char,   System.Decimal,System.Double,   System.Int16,System.Int32,   System.Int64,System.Object,   System.SByte,System.Single,   System.String,System.UInt16,   System.UInt32,System.UInt64。

     

而不是使用类型名称或   完全限定的类型名称,   这些类型的内置别名   应始终使用:array,bool,   byte,char,decimal,double,short,   int,long,object,sbyte,single,   string,ushort,uint,ulong。

(取自帮助文件StyleCop.chm)