2014-01-05 93 views
-4

我有一個字符串如何從用逗號和換行分隔源字符串

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"; 

與性能

​​

什麼是填充的最好辦法類填充列表 List<justme>知道源上的字段由逗號和列表中的新項分開 \r\n

+1

你能顯示你的嘗試嗎?如你所說,你所要做的就是分割這兩個分隔符。 –

+0

拆分爲「\ r \ n」,然後將結果拆分爲','http://msdn.microsoft.com/en-us/library/system.string.split(v=vs.110).aspx試試;-) –

+3

「最好」是什麼意思?例如,你是否想要最簡單的方法,對無效數據最有彈性的方式,如果需求改變,這種方式最容易修改? –

回答

0

拆分,循環,拆分,分配:

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... 
    }); 
} 
0

這將是一個好辦法。

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();