2013-04-17 60 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); 
    } 
} 
相关问题