为什么以这种方式声明对象引用是错误的?

Why is declaring the object reference this way wrong?

我正在尝试使用 C# 学习 WinForms,下面的代码代码部分没有错误:

using System;
using System.Windows.Forms;

namespace TempConversion
{
    public partial class Form1 : Form
    {
        private RadioButton rdb;

        public Form1()
        {
            InitializeComponent();

            rdb = new RadioButton();
        }
        ...

但如下所示,如果我在 public Form1() 中声明 private RadioButton rdb ,则会出现错误:

using System;
using System.Windows.Forms;

namespace TempConversion
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            private RadioButton rdb;
            rdb = new RadioButton();
        }
        ...

我无法弄清楚为什么第二种情况是错误的,即使两个声明都在同一个命名空间内。在第二种情况下,private RadioButton rdbpublic Form1()?[=12= 中声明时出错的原因是什么? ]

c# 访问修饰符(private、public、protected 等)仅在用作 class 的一部分时才有用。在构造函数或任何其他方法中,它们没有任何意义,因为它们仅在您声明变量的方法内部可见。

所以去掉“private”关键字就可以了。