![](/img/trans.png)
[英]How do you return selected values from two ListBoxes to an mvc controller using razor and c#
[英]How to save files from two listboxes c#
我正在做一个项目。 在项目中,我需要将值添加到列表框中。 当我按下添加按钮时:
lbxOverhead.Items.Add(tbxAddItem.Text);
lbxItemPrices.Items.Add(tbxAddPrice.Text);
然后,我使用以下代码将修改后的列表框值保存到txt文件中:
using (StreamWriter outputFile = new StreamWriter("List.txt"))
{
foreach (string item in lbxOverhead.Items)
foreach (int item2 in lbxItemPrices.Items)
{
outputFile.WriteLine(item);
outputFile.WriteLine(item2);
}
它出现了一条错误消息:
你能帮我么?
根据我的理解,你的代码从for
循环中断开。 你能不能像下面那样改变你的片段。
using (StreamWriter outputFile = new StreamWriter("List.txt"))
{
foreach (var item in lbxOverhead.Items)
foreach (var item2 in lbxItemPrices.Items)
{
outputFile.WriteLine(item);
outputFile.WriteLine(item2);
}
您正在将string
转换为int
并且失败
using (StreamWriter outputFile = new StreamWriter("List.txt"))
{
foreach (string item in lbxOverhead.Items)
foreach (string item2 in lbxItemPrices.Items)
{
outputFile.WriteLine(item);
outputFile.WriteLine(item2);
}
当您将其添加到项目列表时,您将添加.Text
这是一个字符串。 然后你试图施放它并且它失败了。
此外,您可能想重新考虑代码的结构。 嵌套循环几乎不是一件好事,而且效率非常低。
失败的原因:
1.you试图返回的对象存储lbxItemPrices.Items
在int
变量没有任何明确的铸造首位,而其下面无效:
foreach (int item2 in lbxItemPrices.Items)
2.在这里使用2个foreach循环不是好习惯,我认为它会产生其他问题。
这里我只在ItemPrice
计数和Overhead
计数相同时才添加项目
代码如下:
using (StreamWriter outputFile = new StreamWriter("List.txt"))
{
if(lbxOverhead.Items.Count == lbxItemPrices.Items.Count)
{
for(int i=0;i<lbxOverhead.Items.Count;i++)
{
outputFile.WriteLine(lbxOverhead.Items[i].ToString());
outputFile.WriteLine(lbxItemPrices.Items[i].ToString());
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.