2013-04-17 94 views
0

我想創建一個列表項目作爲另一個list.i需要該列表每個項目都有另一個list.i創建字符串作爲列表的一個循環。下一個循環我需要每個項目作爲一個列表來插入基於範圍的數據。 如何做到這一點.. ??如何創建每個項目列表作爲另一個列表?

我的代碼:

List<string> l = new List<string>(s.Split(';')); 
foreach (string item in l) 
{ 
    if (item.Contains("-")) 
    {  
     List<string> parts = new List<string>(); 
     int min = Int32.Parse(parts[0]); 
     int max = Int32.Parse(parts[1]); 
     for (int m = min; m <= max; m++) 
     { 
      // add the value in i to the data 
      cmd = "insert into quickcom values('" + destination + "','" + codes + "','" + prefix + "','" + rate + "','" + level + "','" + m + "','" + effective_date + "','" + company_id + "')"; 

      cmd = ReplaceSpecialCharacters(cmd); 

      MySqlCommand sqlCmd = new MySqlCommand(cmd, sqlCon); 
      var i = sqlCmd.ExecuteNonQuery(); 
      cmd = ""; 
     } 
    } 
    else 
    { 
     if (item.Contains(";")) 
     { 
      List<string> parts = new List<string>(s.Split(';')); 

      cmd = "insert into quickcom values('" + destination + "','" + codes + "','" + prefix + "','" + rate + "','" + level + "','" + s + "','" + effective_date + "','" + company_id + "')"; 

      cmd = ReplaceSpecialCharacters(cmd); 

      MySqlCommand sqlCmd = new MySqlCommand(cmd, sqlCon); 
      var i = sqlCmd.ExecuteNonQuery(); 
      cmd = ""; 
     } 
    } 
} 

幫我... 日Thnx

+1

你能顯示樣本輸入數據嗎? – Damith

+0

if(item.Contains(「;」))始終爲false。 –

回答

0

不知道這是否是你所需要的,但您可以創建,其項目是通過使用原來的字符串列表清單下面類型:List<List<string>>

0

初始化一個列表,包含其它解釋:

List<List<string>> g = new List<List<string>>(); 

然後只需添加你的「零件」到此列表:

g.Add(parts); 

希望我理解正確的你!

0

上面的代碼只是一部分,並不適用於我的電腦。
所以我只寫了一些評論:
1.列表部分=新列表(); 部分是從未在此使用過的變量。
2.我想查看ReplaceSpecialCharacters的詳細信息。
3. cmd =「插入...你最好用string.Format(」insert into .. {0} .. {1}「,para0,para1 ...)
4 。列表L =新名單(小號 .Split(「;」));它幫助很多,如果你列出串小號這裏

1

如果你有兩個分隔符打破每個記錄和每個的一些例子。記錄的項目,那麼你可以直接得到如下的字符串列表

string s = "a2-b2-c2-d2-e2;a3-b4-c2-d2-e2"; 
var list = s.Split(';').Select(s1 => s1.Split('-').ToList()).ToList(); 
+0

thnxxxxxxxxxxxxxxxxxxxxxxxxxxxx – user2265801

0

不知道你想要的是List<List<string>>但這就是我所假設的:

var l = new List<string>(s.Split(';')); 
var aggregatedList = new List<List<string>>(); 

foreach (var item in l) 
{ 
    if (item.IndexOf("-") > -1) 
    { 
     var a = item.Split('-').Select(n => int.Parse(n)).ToArray(); 
     var parts = Enumerable.Range(a[0], a[1]-a[0]+1).Select(i => i.ToString()).ToList(); 
     aggregatedList.Add(parts); 
    } 
} 
相關問題