代码风格的符号两侧添加空格的基本规则:

2025-03-04 05:12:59
推荐回答(1个)
回答1:

1. 单目运算符(Unary Operators)与它的操作数之间应紧密相接,不需要空格。例如:
代码示例1-11:单目运算符的空格规则示例
y = ++x; // ++ 在这里是前缀单目运算,它与x之间无空格 2. 在双目、三目运算符(Binary/Ternary Operators)的左右两侧分别添加空格。例如:
代码示例1-12:双目、三目运算符的空格规则示例
int a = 3 + 5; // 在双目运算符左右添加空格
int b = a * 6 + 7;
int c = a & b;
int d = b++ * c--; // 虽然有单目运算符,但双目运算符两侧仍应添加空格
int e = a > 0 ? 1 : 0; // 在三目运算符左右添加空格 3. 括号(包括小括号、中括号与大括号)的内侧应该紧靠操作数或其他运算符,不需要添加额外的空格。例如:
代码示例1-13:括号的空格规则示例
int f = (a + b) * c; // 括号内侧紧靠操作数,因其他运算符添加的空格留在外侧
int g[MAX] = {1, 2, 3}; // 中括号与表达式中的大括号也同样处理 4. 不要使用连续的两个或多个空格。
其实,如果理解了这些规则,在实际书写的时候很容易遵循。对于任何一个表达式,我们先把单目运算符和括号去掉,然后在双目、三目运算符的左右两侧分别
添加一个空格,再将单目运算符和括号填回去,放在靠近自己操作数的一边即可。
关于函数调用时,要不要在函数名和其后的括号之间添加空格的问题已经讨论了很久。其实这个是一个无伤大雅的事情,无论使用何种方式,都不会对代码
的可读性产生多少实质性的影响,纯粹是各人喜好罢了。不过在这里,我建议采用Visual Studio中的默认规则:在函数调用时不添加空格,而在一些类似的带括号的语法结构中添加空格。请看下面这段代码:
代码示例1-14:函数调用时的空格规则示例
string cmd = string.Empty;
// 函数形式的调用,括号前没有空格
cmd = Console.ReadLine();
// 语句结构,括号前有空格
if (cmd.Length > 0)
{
Console.WriteLine(cmd.ToUpper());
}
else
{
Console.WriteLine((Empty));
}
这段代码中的ReadLine、WriteLine都是函数调用,因此与其后面的括号紧密相连,不需要添加空格。而if结构虽然同样带有类似的括号结构,但是它属于C# 的内部语法,为了以示区别,在if与括号之间添加了一个空格。除if外,switch、for、while等都应做同样的处理。