我刮起了这个代码在一个控制台应用程序相当快的应该做的伎俩....假设你是在处理一个强类型有一个定义类似如下:
public class MyObject
{
public int ID { get; set; }
public string Mukey { get; set; }
public int FieldID { get; set; }
public string Type { get; set; }
public int PercentOfField { get; set; }
public double Acres { get; set; }
}
使用下面将做您要求什么(如果我理解正确的问题)
var myList = new List<MyObject>() {
new MyObject { ID = 1, Mukey = "1709649", FieldID = 191, Type = "Minor", PercentOfField = 18, Acres = 12.5181 },
new MyObject { ID = 2, Mukey = "1709641", FieldID = 191, Type = "Minor", PercentOfField = 1, Acres = 0.49621 },
new MyObject { ID = 3, Mukey = "1709620", FieldID = 191, Type = "Minor, Critical", PercentOfField = 72, Acres = 49.4322 },
new MyObject { ID = 4, Mukey = "1709622", FieldID = 191, Type = "Minor", PercentOfField = 9, Acres = 5.89865 }
};
for (int i = 0; i < myList.Count; i++)
{
//check if the type is comma delimited
if (myList[i].Type.Contains(","))
{
//get the separate types
string[] types = myList[i].Type.Split(',');
var item = myList[i];
myList.RemoveAt(i);
//for each type, add a new entry in the list
foreach (string theType in types)
{
myList.Insert(
i,
new MyObject
{
ID = item.ID,
Mukey = item.Mukey,
FieldID = item.FieldID,
Type = theType.Trim(),
PercentOfField = item.PercentOfField,
Acres = item.Acres
}
);
// add to i to offset the count for the additional items
// (we want to skip the new items)
i++;
}
}
}
是场在每个制表符分隔的制表符? – 2012-07-12 15:02:32
查看C#split/substring方法。这些可能是你正在寻找的。 – Purplegoldfish 2012-07-12 15:02:45
我把表格格式化了,但删除了一些细节,希望没关系。请发布相关代码。你如何在你的列表中存储记录? – oleksii 2012-07-12 15:06:47