1
17
静态类只是静态成员(字段、事件、属性和最常见的方法)的容器。 静态结构将完全相同,因此不会提供任何优势-但读者可能 认为 它有一些特殊的意义。为避免混淆,因此禁止使用。当然,从概念上讲,它和静态类一样有意义——结构和类之间的区别实际上在于 实例 它们中的一个行为,而且由于这两种类型的静态类型都没有实例,所以这种区别是没有意义的。 (当然,我不是在设计会议上决定的。埃里克·利珀特很可能会找到一些关于它的笔记。以上只是一个有根据的猜测。据我所见,注释的C 3规范对这一问题保持沉默。) |
2
8
这没什么用。您仍然可以像处理静态类那样拥有一组静态方法。C中的结构表示它是一个值类型,而不是一个在静态级别上没有意义的引用类型。 |
3
3
把它写在“就是这样”。因为可以用静态类来实现,所以没有理由允许静态结构。它只会让人们混淆他们之间的区别。他们不得不挑选其中一个。 |
4
3
实际上,有 不 静态类的实例。哪种解释缺乏对静态结构的支持——或者更确切地说,缺乏 需要 为了这样一件事。
.NET中引用类型和值类型之间的区别(
由于没有实例可言,这种区别就变得无关紧要了;因此任何纯粹由静态成员组成的类型都可能是静态类。 |
5
3
没有实例字段初始值设定项 在一个类中,我们可以创建一个字段/变量并在初始化它的同时对其进行初始化,而一个结构不能包含这样的初始化。这些字段必须通过函数或使用对象本身初始化。创建时无法为字段提供初始值。以下代码给出错误:
但是,结构可以包含静态字段,这些字段可以在结构内部初始化。 下面的示例显示在结构中使用静态字段。
结构和方法 C结构还可以包含方法。方法可以是静态的,也可以是非静态的。但是静态方法只能访问其他静态成员,并且不能使用结构的对象来调用它们。它们只能通过使用结构名称来调用。
在“上找到 http://www.csharpfriends.com/articles/getarticle.aspx?articleid=120 “ |
6
1
静态类型的概念对结构没有意义。 结构意味着按值复制语义——只有当您可以实例化一个类型时才有意义。引入了静态类,以便在无法实例化的类型中更容易地将静态方法分组在一起。允许静态结构既冗余又混乱。
这样想。怎么做?
|
7
1
因为静态未定义为允许在语言中应用于结构。 静态类已经定义了相同的能力。 |
jlandercy · PostgreSQL参数化窗口大小 7 年前 |