C#的wpf变量问题

namespace WpfApp1
{
    public class MainViewModel
    {
        MainWindow _mainWindow;
        public MainViewModel(MainWindow mainWindow) { 
          _mainWindow = mainWindow;
        }

        private string _value;

        public string Value
        { 
            get { return _value; }
            set { _value = value; 
                 _mainWindow.tbname.Text = _value;
                if (value == "100")
                    _mainWindow.tbname.Foreground = Brushes.Red;
                 
                 }
        }

    }
}

这是C#窗体程序中一个类的一段代码
这里面的_value,Value,value是什么关系?
_value,Value是无关的两个变量吗? value没有声明啊怎么回事

_value是实际数据存储变量,私有设置让外部不能访问和修改

Value是引用的_value,公有设置,其中get方法设置了外部访问的数据,set方法则允许外部修改及修改逻辑

value仅在set方法有效,他是外部传递进来的值,在set里自动命名为value

_value 和 Value 是同一个变量在不同的上下文中的命名方式。其中 _value 是类成员变量(成员字段),而 Value 是一个公共属性(Property),是在类外部可以访问和设置的类内部成员变量 _value 的定义。在调用该属性时,会自动调用 get 或 set 方法,可以在这里面对 _value 进行操作。

value 则表示在类内部被引用的 Value 属性的参数。值可以从属性外部的代码中传递给这个属性。在属性代码块中使用时,它表示设置属性时传递给该属性的值本身,从而可以修改该属性的行为,例如可以执行属性值的转换,或在属性经过修改后执行其他操作。在 set 方法中,可以使用 value 来获取设置值,

该回答引用GPTᴼᴾᴱᴺᴬᴵ
在这段代码中,_value 和 Value 是同一个属性的不同表示方式。_value 是属性的私有字段,而 Value 是属性的公共访问器,提供了对私有字段的公共访问和修改。
·
在 Value 属性的 set 访问器中,value 是一个隐式声明的参数,用于存储调用代码中设置属性时传递的值。在这里,它被用于将传递的值设置到 _value 字段中。
·
因此,_value 和 Value 是同一个属性的不同表示方式,value 是 set 访问器的参数名称。