下面两种声明变量的方式一样吗?
int aa= 0, bb= 0, cc= 0, dd= 0;
int aa= 0;
int bb= 0;
int cc= 0;
int dd= 0;
最佳答案
是,这个:
int aa = 0, bb = 0, cc, dd;
与以下版本完全相同,更常见和可读:
int aa = 0;
int bb = 0;
int cc;
int dd;
作为Soner Gönül shows , 它们生成相同的 IL 代码。
但你问了一个很好的问题,因为事情可能比这更微妙。
指针
在不安全的 C# 中,您可以使用指针。指向整数的指针写为 int*
。所以当你想声明三个int*
类型的变量时,你可能会这样写:
int* aa, bb, cc;
这正确地代表了您的意图:
int* aa;
int* bb;
int* cc;
但是,指针的语法来自更古老的 C 语言,如果您在 C 中像这样声明三个指针变量:
int* aa, bb, cc;
那么这意味着有些微妙的不同,而你实际上已经写了:
int* aa;
int bb;
int cc;
这就是为什么 C 开发人员会编写 int *aa
来代替,以表明只有 aa
是指针类型,其余都是普通整数。
int *aa, bb, cc;
但是,我不鼓励你完全用 C 编写这样的东西:它很困惑。
Visual Basic 和 VB.Net
在 Visual Basic.NET 中,您还可以在一行中声明变量:
Dim aa, bb As Integer
这与:
Dim aa As Integer
Dim bb As Integer
但是如果您使用 Visual Basic(VB.Net 的前身)编程,那么:
Dim aa, bb As Integer
意思是:
Dim aa As Any 'aa Is Variant
Dim bb As Integer
关于c# - 两种声明变量的方式是否相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15570728/