wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了为什么Microsoft重载方法Console.Write()和Console.WriteLine()? C#大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

为什么Microsoft重载方法Console.Write()和Console.WriteLine()?他们可以制作这样的方法 public void WriteLine(Object ob) { Console.WriteLine(ob.ToString()); } public static void WriteLine(String value); 但他们做到了 public stat
为什么Microsoft重载方法Console.Write()和Console.WriteLine()?他们可以制作这样的方法

public void WriteLine(Object ob)
{
   Console.WriteLine(ob.ToString());
}
public static void WriteLine(String value);@H_772_22@ 
 

但他们做到了

public static void WriteLine(bool value);

    public static void WriteLine(float value);

    public static void WriteLine(int value);

    [CLSCompliant(false)]
    public static void WriteLine(uint value);

    public static void WriteLine(long value);

    [CLSCompliant(false)]
    public static void WriteLine(ulong value);

    public static void WriteLine(object value);

    public static void WriteLine(String value);

    public static void WriteLine(double value);

    public static void WriteLine(decimal value);@H_772_22@

解决方法

长话短说,微软出于性能原因做了这件事.

基于对象的方法需要为具有值类型对象的每次调用Console创建一个丢弃的包装器对象.虑一下你打电话会发生什么

Console.WriteLine(12345678);@H_772_22@ 
 

首先,将12345678装入对象中.然后将对象传递给WriteLine.接下来,WriteLine在对象上调用ToString.最后,将字符串复制到输出中.

此时,来自装箱操作的对象和来自ToString的字符串变得有资格进行垃圾收集. Microsoft决定在每个调用中创建两个垃圾对象对于写入控制台这样的基本操作是不可接受的,因此它们提供了您列出的所有重载.

大佬总结

以上是大佬教程为你收集整理的为什么Microsoft重载方法Console.Write()和Console.WriteLine()? C#全部内容,希望文章能够帮你解决为什么Microsoft重载方法Console.Write()和Console.WriteLine()? C#所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。