c# - 为什么 ToString 使用 "."运算符

标签 c# class operators

我开始学习计算机编程的第二门类(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/

相关文章:

javascript - JQuery (Javascript) CSS 值和运算符

c# - 具有通用方法和属性的两个类

jquery - CSS 内容类而不是 attr

php - 在 PHP 中使用 @ 运算符抑制错误

django - 寻找基于 Django 类的 View 并在单个页面上具有多个表单示例

php 获取类/对象变量和继承

c++ - &符号 "&"在指针前面做什么?

c# - 如何将 ruby​​ gem 嵌入到 C# 项目中并从嵌入式 IronRuby 脚本中获取它?

c# - 使用 Entity Framework 从 Excel 工作表中读取数据

c# - 我在哪里可以找到要添加到我的项目中的 "ActiveDirectory"引用?