拆分所有列表框元素并将它们全部添加到新的字符串数组中

Posted

技术标签:

【中文标题】拆分所有列表框元素并将它们全部添加到新的字符串数组中【英文标题】:Split All The Listbox Elements And Add Them All To A New String Array 【发布时间】:2019-06-08 23:43:42 【问题描述】:

我的代码有问题。我有一个列表框,它有项目(项目数未知)。我的列表框是这样的:

                       hello my friends
                       have a good day
                       how r u?
                       I will do it
                       aBcDe

我想将我所有的列表框项目转移到一个字符串数组。之后,我想根据参数对其进行拆分(参数=空格)。所以最后看看数组:

'hello', 'my', 'friends', 'have', 'a', 'good', 'day', how', 'r', 'u?','I','will ','做','它','aBcDe'

这是我的代码:

         char[] sc=' ';
         string[] lb = mylistbox.Items.OfType<string>().ToArray();
         int cnt = lb.Length;
         for(int c=0; c<cnt; c++)
         
            //I want to transfer the last array here.
         

感谢您的回答。

【问题讨论】:

【参考方案1】:
string[] lb = mylistbox.Items.OfType<string>().ToArray();

//Create a single string which contains all the items seperated by a space
string joined = string.Join(" ", lb); 

//Split the single string at each space
string[] split = joined.Split(new char[]  ' ' ); 

【讨论】:

所以我不需要for循环和数组长度,对吧? 正确,不需要循环。【参考方案2】:

您可以执行以下操作

var arrayOfItems = listBox.Items.OfType<string>().ToArray();
var result = arrayOfItems.SelectMany(s=>s.Split(' ')).ToArray();

【讨论】:

【参考方案3】:
 List<string> results = new List<string>();
 for(int c=0; c<cnt; c++)
 
    results.AddRange(lb[i].Split(' '));
 


 var stringArray = results.ToArray();

【讨论】:

以上是关于拆分所有列表框元素并将它们全部添加到新的字符串数组中的主要内容,如果未能解决你的问题,请参考以下文章

如何比较字典值中的多个数组,并将每个数组元素的字典键映射到新数组/列表中

VB.NET 2005 - 无法绑定到新的显示成员 - 组合框 - 数组

如何将每个 x 个元素拆分一个列表并将这些 x 个元素添加到一个新列表中?

python 使用拆分器拆分列表中的所有字符串并将其添加回来(在某些搜索算法中非常有用)

创建视图控制器并将现有 VC 的标签和按钮添加到新的 VC Swift iOS

通过数据框中的列表 len 复制行并将它们添加为索引