与声明实例变量的方式不同

时间:2011-09-28 13:19:40

标签: c#

如果我有这门课程:

class G
{
   Texture a, b, c;
}

class F
{
   Texture a;
   Texture b;
   Texture c;
}

在分配的访问修饰符或两者都是等价的方面是否有区别,因此如何编写它们只是样式偏好?

5 个答案:

答案 0 :(得分:7)

没有功能差异; abc都将被声明为private Texture个字段。 (private是类成员的默认访问修饰符。)

您是否选择使用一个访问修饰符并为每个修饰符键入声明,或者对于所有三个,都是纯粹的风格。

答案 1 :(得分:3)

C#没有区别 - 只是文体学(我更喜欢第二种)。

在C和C ++等语言中, 会对指针产生影响:

int* p1, p2, p3;   // p1 is a pointer to int, but p2 and p3 aren't

在C#中我们没有这个问题:

int* p1, p2, p3;   // Ok, all three are pointers
int *p1, *p2, *p3;   // Invalid in C#

此外,在C ++中,有时T a, b;不等同于T a; T b;,即使T不是指针 - 当与T重合时也是如此;

T T, X; //T and X are of type T

T T;
T X; //error T is not a type

对不起,我发布了更多关于C ++而非C#的内容,但这是为了证明C#已经处理了C ++没有的两种形式之间的潜在差异:)

答案 2 :(得分:1)

结果是一样的。它是等价的。

答案 3 :(得分:1)

没有差异!只有一种风格选择。

答案 4 :(得分:0)

这纯粹是文体风格,如果你想了解更多关于访问修饰符的信息,你可以得到它here