我正在阅读此线程https://stackoverflow.com/questions/268538/tab-versus-space-indentation-in-c-sharp重新调整制表符与空格缩进。该线程的寓意导致“缩进的制表符,对齐的空格”。你能用一些代码示例来解释一下缩进是什么意思吗?空格是什么意思?我只是对代码上下文中的两件事感到困惑?
问问题
1051 次
4 回答
2
该线程的示例:
switch(foo)
{
case bar: Do1(); break;
case foobar_2: Do2(); break;
}
在这里,关键字“case”是缩进的。"bar:" 和 "foobar_2:" 向左对齐。
您可以想象有一个框,其中相同的单词可以左对齐或右对齐。剩下:
switch(foo)
{
case bar: Do1(); break;
case foobar_2: Do2(); break;
}
对:
switch(foo)
{
case bar: Do1(); break;
case foobar_2: Do2(); break;
}
由于选项卡配置不同,如果使用选项卡完成这种事情会变得一团糟,所以这里必须有空格。但是,使用不同的制表符宽度配置,缩进就变成了这样:
switch(foo)
{
case bar: Do1(); break;
case foobar_2: Do2(); break;
}
这更像是一个偏好问题,因为它不会弄乱哪条线匹配什么。
于 2012-07-18T07:11:36.923 回答
1
在Java 代码约定中,它建议始终使用空格。这在每个编辑器中都以相同的缩进出现,并且比混合制表符/空格方法更简单。
于 2012-07-18T07:10:44.373 回答
1
在这里你可以看到一个对齐的例子——条件被对齐在另一个之下。通常,您无法使用选项卡来实现此目的,因为
a) 如果制表符大小为 2 或 4,则不能用制表符表示 3 个空格
b)即使您计算机上的标签大小为 3 并且您设法与标签对齐,另一个人也可以有不同的标签大小并且对齐会中断(条件不会在另一个之下。
于 2012-07-18T07:24:56.347 回答
0
public class SwitchDemo {
public static void main(String[] args) {
int month = 8;
String monthString;
switch (month) {
case 1: monthString = "January";
break;
case 2: monthString = "February";
break;
case 3: monthString = "March";
break;
case 4: monthString = "April";
break;
case 5: monthString = "May";
break;
case 6: monthString = "June";
break;
case 7: monthString = "July";
break;
case 8: monthString = "August";
break;
case 9: monthString = "September";
break;
case 10: monthString = "October";
break;
case 11: monthString = "November";
break;
case 12: monthString = "December";
break;
default: monthString = "Invalid month";
break;
}
System.out.println(monthString);
}
}
行上的缩进是用制表符制作的。
switch-case 语句中的对齐是用空格完成的。
ttttttttttttttttcase 9:ssmonthString = "September";
ttttttttttttttttttttttttsbreak;
ttttttttttttttttcase 10:smonthString = "October";
ttttttttttttttttttttttttsbreak;
tttt
s代表一个tab
s
代表一个空格
于 2012-07-18T07:16:50.970 回答