2011-04-05 49 views
3

对于整洁的代码,我有点傻,所以我喜欢让所有内容都缩进和流畅,如果你知道我的意思。C中的空白#

private void myFunc() 
{ 
    while(true) 
    { 
     //do this 
    } 
} 

等。现在,我知道,在一个文本文件,制表符或四个空格或任何实际存储在那里,准备下一次我打开它。

如果我去编译这个,我会通过没有整齐的格式和缩进来看到输出文件大小/编译性能的好处,还是编译器忽略了一切不重要的东西?

+0

C#不是Python或[空白](http://compsoc.dur.ac.uk/whitespace)。 – BoltClock 2011-04-05 02:08:00

+0

编译器不关心空格,除非它在语法上有意义 – BlackICE 2011-04-05 02:09:00

+0

@BoltClock我不相信我曾声称它是。 Python会抛出错误的缩进错误,C#不关心。我的问题涉及这些字符在源文件中,而不管它们的语法要求如何。你可能希望再次阅读这个问题。 – dotalchemy 2011-04-05 02:09:31

回答

14

其中一个编译步骤被称为tokenization。这一步将删除代码中的所有空白和注释。只要你的代码解析正确,就运行速度而言,格式化良好或格式不良的代码之间没有区别。

+2

+1解释为什么它并不重要。 – BoltClock 2011-04-05 02:19:35

+0

不错的链接,很好的解释,好奇心满意:) – dotalchemy 2011-04-05 02:23:07

1

空格或制表符对编译器没有任何影响。

+2

制表符是纯粹的邪恶。 – 2011-04-05 04:07:27

3

如果您只使用最小的空白空间,但编译的文件保持不变,您的源代码文件会更小。青睐你的源代码的可读性。

0

在编译的输出无差别,只是源

0

编译器的文本代码转换成CIL,所以所有格式将被删除,它会使你的DLL/EXE的文件的大小没有区别,所以你可以将其格式化为任何你喜欢的。