这两者之间有什么区别,我应该使用哪一个?

string s = "Hello world!";
String s = "Hello world!";

当前回答

在我所知道的范围内,字符串只是 System.String 的名称,类似的字符串存在于 Bool, Object, Int... 唯一微妙的区别是,你可以使用字符串,而没有“使用系统;” 指令,而 String 需要它(否则,你应该指定 System.String 完整)。

关于什么是最好的使用,我猜这是一个口味问题,我个人更喜欢链条,但我不是一个宗教问题。

其他回答

与其他程序员中似乎是常见的做法相反,我更喜欢线条超越线条,只是为了强调线条是一种参考类型,正如Jon Skeet提到的那样。

表示带变量与带,但在访问其静态成员之一时使用带类:

String.Format()

变量

string name = "";

在一个优化CIL(是MSIL)背景(.NET VM 组合语言)中的其他语言 -.NET 框架或 Mono 或任何 CIL 类型的区域在一本针对多个.NET 语言(如 VB.NET、 F# 等)的书中。

因此,真正的答案是,仅仅是因为C#必须与其他语言共享.NET 空间,这个问题甚至存在。

C、总结...

对于您的内部组织,如果您也使用 VB.NET 或 F# 或任何其他.NET 语言,或者开发图书馆用于客户的消费,那么您应该在这些背景下使用“Frameworky”类型,以便每个人都能理解您的界面,无论您是谁。

HTH。

基本上,在 C# 中,线和线之间没有区别。

String 是 System.String 中的.NET 框架中的一个类,而较低的案例字符串则是 System.String 的标志。

登录两个类型的完整名称可以证明这一点

string s1= "hello there 1";
String s2 = "hello there 2";
        
Console.WriteLine(s1.GetType().FullName); // System.String
Console.WriteLine(s2.GetType().FullName); // System.String

大多数开发人员使用字符串在C#中声明变量,并使用System.String类使用任何内置的字符串方法,例如,String.IsNullOrEmpty()方法。

两者都是相同的,区别在于你如何使用它。

字符串为变量

String 是为了召唤其他 String 类方法

如:

string fName = "John";
string lName = "Smith";

string fullName = String.Concat(fName,lName);

if (String.IsNullOrEmpty(fName))
{
  Console.WriteLine("Enter first name");
}