微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 foreach 将多个元素添加到 list<string>

如何解决使用 foreach 将多个元素添加到 list<string>

对于学校作业,我必须将多个 textBox.texts 添加到我的列表 (List<string> snackList = new List<string>();)。每次用户单击保存按钮并选择 MessageBoxResult.yes 时,它都会向列表中添加一个元素。问题是当用户按下 no 时,它会在列表框中显示列表,但只会显示最后提交的文本。

到目前为止,我假设我必须使用 foreach 循环,但我可能是错的。我一直在尝试在线搜索解决方案,但遗憾的是没有任何帮助。

我的代码

private void btnSave_Click(object sender,RoutedEventArgs e)
        {
           MessageBoxResult bevestig = MessageBox.Show("Would you like to order another snack?","Question",MessageBoxButton.YesNo);
           List<string> snackList = new List<string>();
           snackList.Add(tbOrder.Text);

           if (bevestig == MessageBoxResult.Yes)
           {
             tbOrder.Text = "";
             tbOrder.Focusable = true;
             tbOrder.Focus();
            }
           else
           {
             lbOrderlist.ItemsSource = snackList;    
           }  
        }

解决方法

有充分的理由以“错别字”结束这个问题,这就是为什么这篇文章是社区维基。


您的列表变量在您的方法范围内声明。这意味着一旦代码执行离开作用域(方法),变量就会被擦除。这也意味着每次调用该方法时,都会创建一个新列表。

走这条线:

List<string> snackList = new List<string>();

然后将它移到你的方法之外,并移到类的范围内。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。