【发布时间】:2013-10-10 20:23:37
【问题描述】:
我正在尝试用列表和计数唯一实例来做一些非常具体的事情,然后将其保存在文件的新行中。
基本上,我有一个包含一组列的列表视图,我想遍历整个列表,并保存每个唯一项目的计数。
例如,这样的列表;
111
222
111
333
333
333
最终会被写入文件:
111:2
222:1
333:3
我不需要它按任何特定顺序排列,只要我有这些值即可。
到目前为止我有这个;
string fileName = Application.StartupPath + @"\txn_" +
TerminalConfig.CreateSafSig() + ".saf";
Dictionary<string, int> products = new Dictionary<string, int>();
List<string> codes = new List<string>();
foreach (ListViewItem item in BasketList.Items)
{
codes.Add(item.SubItems[3].Text);
}
String[] items = codes.ToArray();
foreach (String code in items)
{
if (products.ContainsKey(code) != true)
{
products.Add(code, 1);
}
else
{
products[code] += 1;
}
}
foreach (var entry in products)
{
File.WriteAllText(fileName, string.Format("{0}:{1}",entry.Key,entry.Value));
}
但它保存的文件只给了我最后一行的内容。
在上面的例子中,它只会显示333:3
我很确定我写的正确,但我正在努力找出哪里出错了。
【问题讨论】:
标签: c# list dictionary