Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 系统类型;隐式转换为字符串_C#_Implicit Conversion_System.type - Fatal编程技术网

C# 系统类型;隐式转换为字符串

C# 系统类型;隐式转换为字符串,c#,implicit-conversion,system.type,C#,Implicit Conversion,System.type,在代码定义窗口下查看System.Type类时,我似乎无法理解该类的实例是如何隐式转换为字符串的。例如,在以下代码上: int foo = 0; Console.WriteLine("Hi! I'm a type of type {0}", foo.GetType()); GetType()生成的System.Type是如何隐式转换为字符串的?它不是隐式转换为字符串的。它正在转换为对象(使用标准的隐式引用转换),而字符串.Format正在对其进行适当的格式化-在本例中,通过调用ToString

在代码定义窗口下查看System.Type类时,我似乎无法理解该类的实例是如何隐式转换为字符串的。例如,在以下代码上:

int foo = 0;
Console.WriteLine("Hi! I'm a type of type {0}", foo.GetType());

GetType()生成的System.Type是如何隐式转换为字符串的?

它不是隐式转换为字符串的。它正在转换为
对象
(使用标准的隐式引用转换),而
字符串.Format
正在对其进行适当的格式化-在本例中,通过调用
ToString


这不是在编译时完成的。您显示的代码调用重载。

它不是隐式转换为字符串。它正在转换为
对象
(使用标准的隐式引用转换),而
字符串.Format
正在对其进行适当的格式化-在本例中,通过调用
ToString


这不是在编译时完成的。你展示的代码调用了重载。

@lagerdalek:我想我会在本周某个时候让Tony退休,重新做我自己。嗯,是的,它调用了一个重载的WriteLine()方法。谢谢你指出这一点。没有注意到这一点,我把它读作Console.WriteLine(“blablah”+foo.GetType());现在,我们可能会在那里得到一个编译错误…嗯,不,我们不会-因为字符串串联的工作方式。这是一个不同的问题:)@lagerdalek:我想我会在本周某个时候让Tony退休,重新做我自己。嗯,是的,它调用了一个重载的WriteLine()方法。谢谢你指出这一点。没有注意到这一点,我把它读作Console.WriteLine(“blablah”+foo.GetType());现在,我们可能会在那里得到一个编译错误…嗯,不,我们不会-因为字符串串联的工作方式。但这是另一个问题:)