我有一段代码:
private void btnOk_Click(object sender, EventArgs e)
        {
            if (rdoRss.Checked)
            {
                RssFeed newFeed = new RssFeed();
                newFeed.DisplayName = txtName.Text;
                newFeed.Url = txtUrl.Text;
                newFeed.Description = txtDesc.Text;
                main.manager.profile.Feeds.Add(newFeed);
            }
            if (rdoAtom.Checked)
            {
                AtomFeed newFeed = new AtomFeed();
                newFeed.DisplayName = txtName.Text;
                newFeed.Url = txtUrl.Text;
                newFeed.Description = txtDesc.Text;
                main.manager.profile.Feeds.Add(newFeed);
            }
            
            main.UpdateFeedsView();
            this.Close();
        }
如果这样,没有错误,但代码冗余,我要改成如下:
private void btnOk_Click(object sender, EventArgs e)
        {
            if (rdoRss.Checked)
            {
                RssFeed newFeed = new RssFeed();
              }
            if (rdoAtom.Checked)
            {
                AtomFeed newFeed = new AtomFeed();
               }
             newFeed.DisplayName = txtName.Text;
                newFeed.Url = txtUrl.Text;
                newFeed.Description = txtDesc.Text;
                main.manager.profile.Feeds.Add(newFeed);            main.UpdateFeedsView();
            this.Close();
        }
此时编译就会出错,说找不到newFeed,我在if语句定义了,以前还出现过类似的情况,是在switch语句中给变量赋值,却说变量是空值(null)这是为什么?