为什么相同的代码大小会产生不同大小的exe文件

不知道名字

我有代码:

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            Console.WriteLine("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            Console.WriteLine("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            Console.WriteLine("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            Console.WriteLine("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            Console.WriteLine("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            Console.WriteLine("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            Console.WriteLine("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            Console.WriteLine("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            Console.WriteLine("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
        }
    }
}

产生exe文件大小为5kb。

现在我只是更改它,所以所有字符串都不同:

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            Console.WriteLine("2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            Console.WriteLine("3aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            Console.WriteLine("4aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            Console.WriteLine("5aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            Console.WriteLine("6aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            Console.WriteLine("7aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            Console.WriteLine("8aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            Console.WriteLine("9aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            Console.WriteLine("10aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
        }
    }
}

现在exe文件是7kb。

现在我可以猜到某处某个功能通过将所有字符串仅用作内存中的1个字符串来改善内存使用,但是我不知道哪个...

所以我的问题是,什么地方在改善这种记忆力?

格哈德·鲍威尔

皮特和TS是正确的。dotNet为所有常量字符串创建一个查找表(Interning)。在第一个示例中,所有WriteLines都将查看同一内部变量,而在第二个示例中,它们均将是单独的内部变量。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么相同的.class文件大小不同?

来自分类Dev

为什么不同的UI显示相同文件的大小不同?

来自分类Dev

为什么使用WebClient UploadData后文件大小会有所不同?

来自分类Dev

为什么 .ftl 文件完全相同但文件大小不同?

来自分类Dev

为什么Jenkins日志文件大小会增加很多?

来自分类Dev

为什么Flutter APK文件大小会变大

来自分类Dev

为什么“大小”与一组相同的文件不同时,“磁盘大小”为何不同?

来自分类Dev

为什么`1vh` CSS大小会解析为屏幕上的不同像素大小

来自分类Dev

为什么相同的文件在不同的操作系统中显示不同的大小

来自分类Dev

为什么相同的文件在不同的操作系统中显示不同的大小

来自分类Dev

文件夹内容相同,但不同驱动器上的大小不同,为什么?

来自分类Dev

为什么磁盘上的文件大小不同?

来自分类Dev

为什么python'in'运算符根据元组大小会有所不同?

来自分类Dev

为什么代码中的少量更改不会影响exe文件大小?

来自分类Dev

反转颜色后,为什么1bpp PNG图像文件大小会增加?

来自分类Dev

为什么使用偏移量密码加密后文件大小会减小?

来自分类Dev

为什么 Perl 中有几个模块名称相同但文件大小不同?

来自分类Dev

为什么将文件夹复制到同一磁盘上的其他位置时,其大小会有所不同?

来自分类Dev

为什么目录的大小不同,即使它们的内容相同?

来自分类Dev

为什么使用updateStateByKey时任务大小会不断增长?

来自分类Dev

为什么我的弦的大小会改变?(C)

来自分类Dev

为什么输出向量的大小会导致分配?

来自分类Dev

为什么阵列大小会变得如此大?

来自分类Dev

为什么输出向量的大小会导致分配?

来自分类Dev

为什么调整大小会导致图像尺寸减小

来自分类Dev

为什么 css 背景大小会旋转图像?

来自分类Dev

为什么不同的编译器生成不同大小的文件?

来自分类Dev

为什么gzip不创建相同大小的文件?

来自分类Dev

为什么裁剪图像的文件大小与初始图像相同?

Related 相关文章

  1. 1

    为什么相同的.class文件大小不同?

  2. 2

    为什么不同的UI显示相同文件的大小不同?

  3. 3

    为什么使用WebClient UploadData后文件大小会有所不同?

  4. 4

    为什么 .ftl 文件完全相同但文件大小不同?

  5. 5

    为什么Jenkins日志文件大小会增加很多?

  6. 6

    为什么Flutter APK文件大小会变大

  7. 7

    为什么“大小”与一组相同的文件不同时,“磁盘大小”为何不同?

  8. 8

    为什么`1vh` CSS大小会解析为屏幕上的不同像素大小

  9. 9

    为什么相同的文件在不同的操作系统中显示不同的大小

  10. 10

    为什么相同的文件在不同的操作系统中显示不同的大小

  11. 11

    文件夹内容相同,但不同驱动器上的大小不同,为什么?

  12. 12

    为什么磁盘上的文件大小不同?

  13. 13

    为什么python'in'运算符根据元组大小会有所不同?

  14. 14

    为什么代码中的少量更改不会影响exe文件大小?

  15. 15

    反转颜色后,为什么1bpp PNG图像文件大小会增加?

  16. 16

    为什么使用偏移量密码加密后文件大小会减小?

  17. 17

    为什么 Perl 中有几个模块名称相同但文件大小不同?

  18. 18

    为什么将文件夹复制到同一磁盘上的其他位置时,其大小会有所不同?

  19. 19

    为什么目录的大小不同,即使它们的内容相同?

  20. 20

    为什么使用updateStateByKey时任务大小会不断增长?

  21. 21

    为什么我的弦的大小会改变?(C)

  22. 22

    为什么输出向量的大小会导致分配?

  23. 23

    为什么阵列大小会变得如此大?

  24. 24

    为什么输出向量的大小会导致分配?

  25. 25

    为什么调整大小会导致图像尺寸减小

  26. 26

    为什么 css 背景大小会旋转图像?

  27. 27

    为什么不同的编译器生成不同大小的文件?

  28. 28

    为什么gzip不创建相同大小的文件?

  29. 29

    为什么裁剪图像的文件大小与初始图像相同?

热门标签

归档