c# - 拆分列表框项目并拆分没有选定项目
问题描述
为了解释我想要做的事情,下面是我的listbox
(三个文本列表项)中可能存在的示例:
listbox
----------------------
| hello my friends |
| how r u today? |
| i'm here |
----------------------
我想将我的listbox
项目(在有空间的地方拆分)分成 2 个数组。第一个数组将是我选择的项目(假设我们选择“你好,我的朋友”,这只是一个示例;也许可以选择第二个或第三个项目)拆分,第二个数组将是我未选择的项目数组。像这样;
string[] firstArray = {"hello", "my", "friends"}
string[] secondArray = {"how", "r", "u", "today?", "i'm", "here"}
但我不知道我该怎么做......这是我的代码:
string[] LBI = lb2.Items.OfType<string>().ToArray();
string[] selectedItemSplit=lb2.SelectedItem.ToString().Split(' ');
string jo = string.Join(" ", LBI);
string[] sp = jo.Split(new char[] { ' ' });
谢谢你的回答...
解决方案
您可以使用抓取选定的项目并将其拆分,然后取出其余项目(通过使用子句lb2.SelectedItem
过滤出具有索引的项目),然后对结果执行 a,将每个项目拆分为空格字符:lb2.SelectedIndex
Where
SelectMany
var nonSelected = lb2.Items.OfType<string>()
.Where((item, index) => index != lb2.SelectedIndex);
var first = lb2.SelectedItem.ToString().Split(' ');
var rest = nonSelected.SelectMany(others => others.Split(' ')).ToArray();