如果我有这门课程:
class G
{
Texture a, b, c;
}
和
class F
{
Texture a;
Texture b;
Texture c;
}
在分配的访问修饰符或两者都是等价的方面是否有区别,因此如何编写它们只是样式偏好?
答案 0 :(得分:7)
没有功能差异; a
,b
和c
都将被声明为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