C# 里面 结构可不可以 有属性

2024-12-11 15:39:08
推荐回答(3个)
回答1:

当然可以,但是结构在初始化构造函数的时候不允许直接对属性进行赋值的。】解决方案——直接对变量赋值: public struct StructTest
{
private int x; public int X
{
get { return x; }
set { x = value; }
} public StructTest(int _x)
{
x = _x;
}
}

回答2:

可以
类和结构是 .NET Framework 中的常规类型系统的两种基本构造。 两者在本质上都属于数据结构,封装着一组整体作为一个逻辑单位的数据和行为。 数据和行为是该类或结构的“成员”,它们包含各自的方法、属性和事件等(本主题后面列出了这些内容)。 类或结构的声明类似于蓝图,用于在运行时创建实例或对象。 如果定义一个名为 Person 的类或结构,则 Person 为类型名称。 如果声明并初始化 Person 类型的变量 p,则 p 称为 Person 的对象或实例。 可以创建同一 Person 类型的多个实例,每个实例在其属性和字段中具有不同的值。 类是一种“引用类型”。 创建类的对象时,对象赋值到的变量只保存对该内存的引用。 将对象引用赋给新变量时,新变量引用的是原始对象。 通过一个变量做出的更改将反映在另一个变量中,因为两者引用同一数据。 结构是一种值类型。 创建结构时,结构赋值到的变量保存该结构的实际数据。 将结构赋给新变量时,将复制该结构。 因此,新变量和原始变量包含同一数据的两个不同的副本。 对一个副本的更改不影响另一个副本。 类通常用于对较为复杂的行为建模,或对要在创建类对象后进行修改的数据建模。 结构最适合一些小型数据结构,这些数据结构包含的数据以创建结构后不修改的数据为主。

回答3:

如果必须用结构时,然后对GET SET没有要求时,建立直接用字段.只不过字段那个蓝色的小图标很难看.有的人就会为了这个问题,弄成属性.
如果是那样不如直接用CLASS.只不过有的地方必须使用STRUCT