我开始学习计算机编程的第二门类(class),现在我的 C 语言知识处于中级水平,是 C++ 初学者,并且刚刚开始学习 C# 语言。在 Bob Tabor 的 C# 基础知识中,他使用 .作为类运算符,例如。
Console.WriteLine(myValue); Console.ReadLine();
其中 Console 是类,WriteLine 是此类的一部分。为了让一切井井有条,我试图理解它的所有概念,但有一刻他使用函数将整数转换为字符串:
myValue.ToString();
那时我迷路了。为什么他使用这种逻辑而不是像这样简单而有条理的方式:
System.ToString(MyValue);
他没有使用必须转换的值作为参数。这在逻辑上毫无意义。我错了吗?
最佳答案
在 .NET Framework 中,每个对象都继承自 System.Object
(object
本身除外)。并且 System.Object
定义了一个公共(public)的 ToString()
方法,因此您可以在任何对象上调用 ToString()
。
Console.WriteLn
在作为参数传递给它的对象上调用 ToString
,以获得它可以打印的字符串。
没有 System.ToString()
这样的东西。 System
是命名空间,方法不能存在于全局范围内;它始终是类型的成员。从对象内部您可以直接调用成员,从外部您必须使用点语法:someObject.SomeMethod();
或 x = someObject.SomeProperty;
。从类型名称调用静态成员:SomeType.SomeMethod();
。 Console.WriteLn();
就是一个很好的例子。
关于c# - 为什么 ToString 使用 "."运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32288676/