为什么是String.ToString()?

Nal*_*526 2 .net vb.net

可能重复:
C#:为什么字符串类型具有.ToString()方法

为什么类(VB.NET)中ToString存在方法String

String.ToString()
Run Code Online (Sandbox Code Playgroud)

如果使用它会是一个开销

TextBox.Text.ToString()
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 8

ToString方法被发现在Object从该String继承.执行Object.ToString是打印typename.

public virtual string ToString() {
    return this.GetType().ToString();
} 
Run Code Online (Sandbox Code Playgroud)

该类型 String会覆盖此方法以返回自身.

public override string ToString() {
    return this;
} 
Run Code Online (Sandbox Code Playgroud)

代码TextBox.Text.ToString()有一个不必要的调用ToString,但这样做不太可能产生任何显着的性能影响.


Ric*_*dle 6

所有对象都有ToString(),所以对于任何对象:

  • 你可以在obj.ToString()不知道类型的情况下打电话obj

  • 你可以调用obj.ToString()而不必担心不存在的方法(通用日志代码是你可能在哪里做的一个常见例子)

调用ToString()字符串的开销只是对单行函数的调用,因此几乎可以肯定它是可以忽略不计的.