1

可能重复:
字符串和字符串有什么区别

我正在使用string一个变量,像这样

string myString = "test";

String如果我想使用类字符串的某些方法(?),我正在使用

String.Format...

我认为这看起来更好。购买一些人正在做的事情,比如

String myString;
string.Format...

它的工作。但我不喜欢这个。我怎么能告诉他们停下来?像这样的东西有“C#规则”吗?同样的事情intInt; char, Char; ...

4

3 回答 3

9

stringSystem.String.

如果编写 C#,您应该使用别名 sostring.Formatstring myString.

两者最终都编译为相同的 IL 并表示相同的意思,但 C# 有其习惯用法,使用类型别名是其中的一部分 - 与您使用int而不是System.Int32.

于 2012-10-02T22:41:03.157 回答
2

如果您正在处理更大的项目并确保您可以轻松阅读团队中任何开发人员编写的代码,那么编码指南非常重要。

不幸的是,没有关于如何格式化 C# 代码的任何官方指南。微软自己在开发 .NET 框架时遇到了这个问题,并开发了一套内部样式指南,这些指南发展成为一个名为 StyleCop 的成熟程序,它有一个带有合理设置的默认规则集。

根据这些规则,您应该始终使用string而不是String

string xyz;
string.Format();

规则如下:

SA1121 - UseBuiltInTypeAlias - 可读性规则

该代码使用一种基本的 C# 类型,但不使用该类型的内置别名。

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

推荐阅读的是 StyleCop 的历史,您可以在此处找到:

http://stylecop.codeplex.com/wikipage?title=A%20Brief%20History%20of%20CSharp%20Style&referringTitle=Documentation

它解释了您在使用相同代码库的不同背景的不同人员时遇到的一些问题,以及他们如何开发规则集。

我们最近在自己的项目中实现了 StyleCop,虽然要真正遵守所有规则需要做很多工作,但生成的代码更具可读性。它还具有相当好的 ReSharper 集成,如果您使用 ReSharper,它允许您自动进行许多修复。

于 2012-10-02T22:57:09.793 回答
0

我通常将其表达为“如果语言中存在相同的原始类型,则更喜欢它”。在您的特定情况下,使用哪种样式是一种偏好,而不是对功能有重大影响的东西。重要的是,无论选择哪种风格,团队中的每个人都始终如一地应用

于 2012-10-02T22:58:13.403 回答