为什么ToString使用"." 操作者

Kas*_*nko 1 c# class operators

我开始了计算机编程的第二门课程,现在我有一个中级水平的C语言知识,初学者C++,并且刚开始学习C#语言.在Bob Tabor的C#基础知识中,他使用了.作为类操作员,例如.

Console.WriteLine(myValue); Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

其中Console是类,WriteLine是此类的一部分.为了保持一切有条理,我试图理解它的所有概念但是在一瞬间他通过使用函数将整数转换为字符串:

myValue.ToString();
Run Code Online (Sandbox Code Playgroud)

在那一点上,我迷路了.为什么他使用那种逻辑而不是简单有组织的方式:

System.ToString(MyValue);
Run Code Online (Sandbox Code Playgroud)

他没有使用必须转换为参数的值.这只是没有任何逻辑意义..我错了吗?

Oli*_*bes 6

每个对象都继承自.NET Framework中的System.Object(object自身除外).并System.Object定义了一个公共ToString()方法,因此可以调用ToString()任何对象.

Console.WriteLn调用ToString作为参数传递给它的对象,以获取它可以打印的字符串.

没有这样的事情System.ToString().System是一个命名空间,一个方法不能存在于全局范围内; 它始终是一个类型的成员.在对象中,您可以直接调用成员,从外部您必须使用点语法:someObject.SomeMethod();x = someObject.SomeProperty;.从类型名称调用静态成员:SomeType.SomeMethod();.Console.WriteLn();是一个很好的例子.