C#.NET — Is it allowed to declare an empty struct (no fields or members)?

Difficulty: Easy

Correct Answer: True

Explanation:


Introduction / Context:
An “empty struct” is a value type declared without fields or members. This is occasionally used for tagging or interop scenarios.



Given Data / Assumptions:

  • We are using standard C# language rules.
  • The struct has no fields, properties, or methods.


Concept / Approach:
C# allows declaring an empty struct, for example struct Marker { }. The runtime assigns it a nonzero size for technical reasons (implementation-dependent), but the declaration itself is valid.



Step-by-Step Solution:

Declare struct S { } → legal syntax.Use S as a type parameter constraint or as a marker value type if needed.


Verification / Alternative check:
Compile a project with an empty struct; it compiles without errors.



Why Other Options Are Wrong:

  • False: Suggests the language forbids empty structs, which is not the case.


Common Pitfalls:
Expecting empty structs to have zero size in memory; they do not, due to alignment and CLI rules.



Final Answer:
True

More Questions from Structures

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion