C#中string()和ToString()有什么区别?

来源:百度知道 编辑:UC知道 时间:2024/07/02 04:18:45
我写了一个代码,string(number1)就是通不过,不过number1.ToString()倒是可以,还有String(number1)和string(number1)我应该用哪个?

number1.ToString() 是转换成string 类型.
string 是引用类型
String声明是class String

string 和 String 区别:
1.string是c#中的类,
String是.net Framework的类,c#中string被映射为.net Framework的String

2.如果你用string,编译器会把它编译成String,所以直接用String的话,可以稍微让编译器少做点

3.如果使用c#,建议使用string,符合规范。毕竟string始终代表System.String(1.x) 或者::System.String(2.0) ,String只有在前面有using System;的时候并且当前命名空间中没有名为String的类型(class、struct、delegate、enum)的时候才代表System.String 。

4.c# 中string是关键字,String不是,也就是说string不能作为类、结构、枚举、字段、变量、方法、属性的名称,而String是可以的

Convert.ToString((object)null) == ""
Convert.ToString(null)== null
通常 object 到 string 有四种方式(假设有object obj):obj.ToString()、Convert.ToString()、(string)obj、obj as string。他们都能将 object 对象转换成 string 对象。我就讲讲他们的
异同以及在实际中应该使用哪个。
前两个方法通常是由别的对象得到 string 对象,它们间的区别只表现在要转换的对象为 null 时,如果 obj 为 null,调用 obj.ToString 方法会导致 NullReferenceException 异常,调用Convert.ToString 不会抛出异常而返回一个 null。
用强制转换 (string)obj 要求 obj 的运行时类型必须是 string。