如何解决使用 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 举报,一经查实,本站将立刻删除。