为什么类(VB.NET)ToString中存在方法?String
String.ToString()
如果像这样使用会不会是开销
TextBox.Text.ToString()
为什么类(VB.NET)ToString中存在方法?String
String.ToString()
如果像这样使用会不会是开销
TextBox.Text.ToString()
该ToString方法在继承Object自其上找到。String的实现Object.ToString是打印类型名。
public virtual string ToString() {
return this.GetType().ToString();
}
该类型 String会覆盖此方法以返回自身。
public override string ToString() {
return this;
}
该代码TextBox.Text.ToString()对 进行了不必要的调用ToString,但这样做不太可能对性能产生任何明显的影响。
所有对象都有ToString(),因此对于任何对象:
您可以obj.ToString()在不知道类型的情况下调用obj
您可以调用obj.ToString()而不必担心方法不存在(通用日志记录代码是您可能执行此操作的常见示例)
调用字符串的开销ToString()只是调用单行函数,因此几乎可以肯定可以忽略不计。
ToString()存在于从System.Object. 是的,这也包括在内System.String。
那里可能有点多余,文档指出它将返回完全相同的实例。所以除了方法调用之外没有性能开销。
一切都是对象(或可以装箱为对象)。object定义了方法ToString,所以,string 有一个 ToString 方法,因为它是一个对象。
因为System.String该类与任何其他类一样是从该类派生的System.Object,所以它会自动继承各种方法,例如:
public virtual bool Equals(Object obj)
public virtual int GetHashCode()
public virtual string ToString()
从而使您能够比较,用对象填充表格,并将对象转换为人类友好的字符串。