为什么 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.Empty
在 null
对象上。
每个对象都继承自 .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();
就是一个很好的例子。
每个对象都有方法和属性,您调用方法"ToString"将对象格式化为字符串。
如果你意识到你写的比调用系统方法格式化要少。
我开始学习计算机编程的第二门课程,现在我的 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.Empty
在 null
对象上。
每个对象都继承自 .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();
就是一个很好的例子。
每个对象都有方法和属性,您调用方法"ToString"将对象格式化为字符串。
如果你意识到你写的比调用系统方法格式化要少。