gpt4 book ai didi

object - 在 c# 中从 Struct 调用属性

转载 作者:行者123 更新时间:2023-12-04 05:22:11 24 4
gpt4 key购买 nike

我定义了一个结构,其中包含一个公共(public)字段和一个分别名为 _one 和 One 的公共(public)属性,现在我在主函数中实例化结构(不创建新对象),并从结构中调用属性,我正在编译时间错误说使用未分配的局部变量 One,但是当我调用字段 _one 时,它​​的工作原理非常符合我的预期:

 public struct myStruct
{
public int _one;
public int One
{
get { return _one; }
set { _one = value; }
}
public void Display()
{
Console.WriteLine(One);
}
}



static void Main(string[] args)
{

myStruct _struct;
_struct.One = 2; // Does not works
_struct._one = 2; // Works fine
}

谁能解释这背后的原因,无法理解这个概念。

最佳答案

您需要初始化结构才能访问该属性 - _struct否则有默认值:

myStruct _struct = new myStruct(); 

顺便说一句 - mutable value types are evil .

关于object - 在 c# 中从 Struct 调用属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13588985/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com