我想知道这两种声明变量的方式之间的区别。
输入1
private string procedure_add = "";
private string procedure_update = "";
private string procedure_delete = "";
类型2
private string procedure_add = "", procedure_update = "", procedure_delete = "";
这会产生同样的效果吗?内存消耗是否相同?
答案 0 :(得分:4)
没有任何区别。这都是关于可访问性的。代码看起来的方式。 假设你有10000多行代码,在编辑时你可能会因为在声明中识别“,”而感到难过。
我更喜欢使用这种方法。
private string yourVar = String.Empty;
答案 1 :(得分:1)
没有任何区别。只是编码风格。
编辑
正如@Aphelion在第一种情况下提到的那样,您可以修改辅助功能。
从代码生成的角度来看,两个版本产生完全相同的IL
MyClass..ctor:
IL_0000: ldarg.0
IL_0001: ldstr ""
IL_0006: stfld UserQuery+MyClass.procedure_add
IL_000B: ldarg.0
IL_000C: ldstr ""
IL_0011: stfld UserQuery+MyClass.procedure_update
IL_0016: ldarg.0
IL_0017: ldstr ""
IL_001C: stfld UserQuery+MyClass.procedure_delete
IL_0021: ldarg.0
IL_0022: call System.Object..ctor
IL_0027: ret
答案 2 :(得分:0)
没有区别,一个只是一个简短的手。
答案 3 :(得分:0)
我认为没有什么不同,从我理解的第二种类型是最小化代码行。
答案 4 :(得分:0)
除了整体“它们是相同的,但可读性不同”之外,我想补充3条评论:
Dim x , y as Integer
将导致y为整数且x为变体int *ip, i;
中会导致ip成为指向int的指针而i将成为int。int *ip, i;
中将导致ip成为指向int的指针,而我也是指向int的指针。