问题描述:
abc表示该行描述的是一个产品,10/11代表产品编号,2表示产品数量
aa表示该行是对产品的描述信息(产品良好或不良),10/11来自abc编号,1表示产品数量
产品实体类product,有如下字段:
id,name,count(数量),remarks,goodproductNo(良品数量),badproductNo(次品数量)
问题是:如何用程序来分别统计编号为10,11的产品到底有多少良品,多少不良品,然后赋
值给实体类product,
* aaa.txt *
abc|10|测a试1|2|备注|
abc|11|测a试2|3|备注|
aa|10|1|良好商品·|
aa|10|1|良好商品·|
aa|11|1|不良商品·|
aa|11|1|良好商品·|
aa|11|1|良好商品·|
代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string[] temp = System.IO.File.ReadAllLines("E:\\aaa.txt", System.Text.Encoding.GetEncoding("gb2312")); Dictionary<int, product> dic = new Dictionary<int, product>(); foreach (string s in temp) { if (s.StartsWith("abc")) { string[] pInfo = s.Split('|'); int id = int.Parse(pInfo[1]); if (!dic.ContainsKey(id)) { product p = new product(); p.Id = id; p.Name = pInfo[2]; p.Count = int.Parse(pInfo[3]); p.Remarks = pInfo[4]; dic.Add(id, p); } } else if (s.StartsWith("aa")) { string[] qInfo = s.Split('|'); int id = int.Parse(qInfo[1]); if (dic.ContainsKey(id)) { product p = dic[id]; int count = int.Parse(qInfo[2]); string quality = qInfo[3]; if (quality == "良好商品·") p.GoodProductNo += count; else if (quality == "不良商品·") p.BadProductNo += count; } } } foreach (int i in dic.Keys) { product p = dic[i]; Console.WriteLine("Id:{0},name:{1},count:{2},remarks:{3},goodproductNo:{4},badproductNo:{5}", p.Id, p.Name, p.Count, p.Remarks, p.GoodProductNo, p.BadProductNo); } Console.ReadKey(); //任意键退出 } } }
/*
输出:
Id:10,name:测试1,count:2,remarks:备注,goodproductNo:2,badproductNo:0
Id:11,name:测试2,count:3,remarks:备注,goodproductNo:2,badproductNo:1
*/
实体类product.cs:
using using using using namespace class product private int 0private int 0private int 0private int 0private string nullprivate string nullpublic int get return thisset thisvaluepublic int get return thisset thisvaluepublic int get return thisset thisvaluepublic int get return thisset thisvaluepublic string get return thisset thisvaluepublic string get return thisset thisvalue
}
本文转自曾祥展博客园博客,原文链接:http://www.cnblogs.com/zengxiangzhan/archive/2010/02/03/1662371.html,如需转载请自行联系原作者