我在C#Windows窗体应用程序中使用ListBox控件,我想在列表框行中分隔/行。我无法找到有关此
的任何信息这是我的列表框,其中包含来电详情的数据
我需要将其分开以将此数据保存到数据库中。
帮助我。参考一些链接来解决。答案 0 :(得分:1)
您从哪里获取数据?是否直接将它作为该字符串提供给您?
如果是这样,我理解正确,你需要将一个字符串拆分成多个(确切地说是6)。
var splitet = $TheListBoxItemYouWantToGetInfo.ToString().Split(' ');
List<String> list = new List<string>();
foreach (string str in splitet)
{
if (str != "") list.Add(str);
}
//Here you have all the data in "list" in separated strings, just cast/parse it if you need another type for the DB
答案 1 :(得分:0)
像这样的东西; 拆分行(通过制表或空格)到块中,然后将每个块转换为(匿名对象的)字段:
var data = listBox1.Items
.OfType<String>()
.Select(line => line.Split(new Char[] {'\t', ' '},
StringSplitOptions.RemoveEmptyEntries))
.Select(items => new {
CallType = items[0],
Source = items[1],
Designation = items[2],
At = DateTime.ParseExact(items[3], "d/M/yyyy", CultureInfo.InvariantCulture) +
TimeSpan.Parse(items[4]),
Duration = TimeSpan.Parse(items[5])
});
然后循环:
foreach (var item in data) {
if (item.CallType == "INCOMING") ...
// date: item.At.Date; time: item.At.TimeOfDay
}