C# 如何填充列表<;T>;来自由逗号和换行符分隔的源字符串
我有一根绳子C# 如何填充列表<;T>;来自由逗号和换行符分隔的源字符串,c#,list,C#,List,我有一根绳子 string strsource = "0,0,200,0,206,2,28515663\r\n0,0,200,0,206,2,2029\r\n0,0,200,1,8,2,2039\r\n0,0,200,1,12,2,2039\r\n0,0,200,2,8,2,2039\r\n0,0,200,2,12,2,2039\r\n0,0,200,3,8,2,2040\r\n0,0,200,3,12,2,2040\r\n"; 和一个具有属性的类 public class justme {
string strsource = "0,0,200,0,206,2,28515663\r\n0,0,200,0,206,2,2029\r\n0,0,200,1,8,2,2039\r\n0,0,200,1,12,2,2039\r\n0,0,200,2,8,2,2039\r\n0,0,200,2,12,2,2039\r\n0,0,200,3,8,2,2040\r\n0,0,200,3,12,2,2040\r\n";
和一个具有属性的类
public class justme
{
public string field1 {get; set; }
public string field2 {get; set; }
public string field3 {get; set; }
public string field4 {get; set; }
public string field5 {get; set; }
public string field6 {get; set; }
public string field7 {get; set; }
}
知道源上的字段由逗号分隔,列表上的新项目由
\r\n
拆分、循环、拆分、分配,填充列表的最佳方法是什么
List<justme> justmes = new List<justme>();
foreach(var line in Regex.Split(strsource, "\r\n")) {
string[] fields = line.Split(',');
justmes.Add(new justme {
field1 = fields[0];
field2 = fields[1];
// field3 = ...
// etc...
});
}
List justmes=新列表();
foreach(Regex.Split(strsource,“\r\n”)中的变量行){
string[]fields=line.Split(',');
添加(新的justme){
field1=字段[0];
字段2=字段[1];
//字段3=。。。
//等等。。。
});
}
这是一个很好的表达方式
var lines = strsource.Split(new string[] { "\r\n" }, StringSplitOptions.None)
.Where(line => line != string.Empty)
.Select(line =>
{
var cols = line.Split(',');
var me = new justme();
{
me.field1 = cols[0];
me.field2 = cols[1];
me.field3 = cols[2];
me.field4 = cols[3];
me.field5 = cols[4];
me.field6 = cols[5];
me.field7 = cols[6];
}
return me;
}).ToArray();
你能展示你的尝试吗?您所要做的就是,如您所说,在这两个分隔符上拆分。拆分为“\r\n”,然后将这些结果拆分为“,”try it;-)你说的“最好”是什么意思?例如,您是否希望使用最简单的方法,最能适应无效数据的方法,以及在需求发生变化时最容易修改的方法?