为什么Microsoft重载方法Console.Write()和Console.WriteLine()
发布时间:2020-12-14 05:45:48 所属栏目:Windows 来源:网络整理
导读:为什么Microsoft重载方法Console.Write()和Console.WriteLine()?他们可以制作这样的方法 public void WriteLine(Object ob){ Console.WriteLine(ob.ToString());}public static void WriteLine(string value); 但他们做到了 public static void WriteLine(b
为什么Microsoft重载方法Console.Write()和Console.WriteLine()?他们可以制作这样的方法
public void WriteLine(Object ob) { Console.WriteLine(ob.ToString()); } public static void WriteLine(string value); 但他们做到了 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); 解决方法
长话短说,微软出于性能原因做了这件事.
基于对象的方法需要为具有值类型对象的每次调用Console创建一个丢弃的包装器对象.考虑一下你打电话会发生什么 Console.WriteLine(12345678); 首先,将12345678装入对象中.然后将对象传递给WriteLine.接下来,WriteLine在对象上调用ToString.最后,将字符串复制到输出中. 此时,来自装箱操作的对象和来自ToString的字符串变得有资格进行垃圾收集. Microsoft决定在每个调用中创建两个垃圾对象对于写入控制台这样的基本操作是不可接受的,因此它们提供了您列出的所有重载. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Win7 VS2017 NASM编译FFMPEG
- office365 – Microsoft Office 365组:访客用户无法使用图
- 为什么Windows XCOPY在通过psexec通过Perl系统调用调用时失
- 在Windows 8地铁应用程序中存储用户数据
- windows-server-2008 – 为计算机组的AD用户组授予本地管理
- 利用winrar代码执行漏洞拿下windows
- windows-server-2008 – Server2k8:根据另一个组中的成员身
- 装配中的Windows音频
- 用于Microsoft Office文件的Android API或库[已关闭]
- batch-file – xp批处理文件中的行长度限制?
推荐文章
站长推荐
热点阅读