ListBox单独的文本在c#中

时间:2016-05-18 07:16:41

标签: c# listbox delimited-text

我在C#Windows窗体应用程序中使用ListBox控件,我想在列表框行中分隔/行。我无法找到有关此

的任何信息

enter image description here

这是我的列表框,其中包含来电详情的数据

我需要将其分开以将此数据保存到数据库中。

帮助我。参考一些链接来解决。

2 个答案:

答案 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
}