我正在尝试创建一个列表项作为另一个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
答案 0 :(得分:1)
如果你有两个分隔符来打破每条记录和记录的每一项,那么你可以直接获取字符串列表列表如下
string s = "a2-b2-c2-d2-e2;a3-b4-c2-d2-e2";
var list = s.Split(';').Select(s1 => s1.Split('-').ToList()).ToList();
答案 1 :(得分:0)
不确定这是否是您所需要的,但您可以使用以下类型创建一个列表,其中的项目依次为字符串列表:List<List<string>>
答案 2 :(得分:0)
初始化包含其他列表的列表:
List<List<string>> g = new List<List<string>>();
然后只需将您的“部分”添加到此列表中:
g.Add(parts);
希望我理解正确!
答案 3 :(得分:0)
上面的代码只是其中的一部分,在我的电脑中不起作用
所以我只想写一些评论:
1. List parts = new List(); 部分是这里从未使用的变种。
2.我想查看 ReplaceSpecialCharacters 的详细信息
3. cmd =“插入...你最好用 string.Format 替换它(”插入.. {0} .. {1}“,para0,para1 ...)
4.列表l =新列表( s .Split(';'));如果你在这里列出一些字符串 s 的例子,它会有很大的帮助。
答案 4 :(得分: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);
}
}