为什么 ToString 使用“.”操作员

Why ToString using "." operator

我开始学习计算机编程的第二门课程,现在我的 C 语言知识处于中级水平,C++ 初学者,并且刚刚开始学习 C# 语言。在 Bob Tabor 的 C# 基础知识中,他使用 .作为 class 运算符,例如。

Console.WriteLine(myValue); Console.ReadLine();

其中 Console 是 class,而 WriteLine 是此 class 的一部分。为了让一切井井有条,我试图理解它的所有概念,但有一刻他使用函数将整数转换为字符串:

myValue.ToString();

那时我迷路了。为什么他使用这种逻辑而不是像这样简单而有条理的方式:

System.ToString(MyValue);

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

唯一的功能区别是 Convert.ToString() 处理空值,而 ToString() 不处理,因为 obj.ToString() 假定 obj 不为空,而 ToString(obj) 将 return String.Emptynull 对象上。

每个对象都继承自 .NET Framework 中的 System.Objectobject 本身除外)。并且 System.Object 定义了一个 public ToString() 方法,因此你可以在任何对象上调用 ToString()

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

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

每个对象都有方法和属性,您调用方法"ToString"将对象格式化为字符串。

如果你意识到你写的比调用系统方法格式化要少。