【发布时间】:2021-02-20 15:45:05
【问题描述】:
我有一个如下所示的列表框:
DANAHER -- 190,00 € -- 20 PCS -- 12:51:52.361
DANAHER -- 190,00 € -- 270 PCS -- 12:51:57.361
RENAULT -- 37,815 € -- 23 PCS -- 12:51:52.475
RENAULT -- 37,815 € -- 1 PCS -- 12:51:59.475
CAMECO -- 13,854 € -- 20 PCS -- 12:53:13.028
CAMECO -- 13,854 € -- 29 PCS -- 12:53:53.028
SAPSE -- 105,48 € -- 20 PCS -- 12:53:22.631
SAPSE -- 105,48 € -- 80 PCS -- 12:53:27.631
当然,现在每秒钟就有新公司不断地添加到列表框中。 我想创建一个文本框,我可以在其中输入公司名称并搜索我的列表框 如果存在条目,如果存在,则应该获取字符串的其余部分并将其保存在某处
我的文本框示例
DANAHER RENAULT
所需的输出应为:
DANAHER -- 190,00 € -- 20 PCS -- 12:51:52.361
DANAHER -- 190,00 € -- 270 PCS -- 12:51:57.361
RENAULT -- 37,815 € -- 23 PCS -- 12:51:52.475
RENAULT -- 37,815 € -- 1 PCS -- 12:51:59.475
到目前为止我所尝试的:
string[] words = richTextBox2.Text.Split(' ');
var toCheck = words;
var newList = listwithentrys.Where(x => toCheck.Any(check => x.Contains(check)));
List<String> selectedCollection = newList.ToList();
listBox4.DataSource = selectedCollection;
但似乎无缘无故无法正常工作。
【问题讨论】:
-
listwithentrys是 LisBox 对象吗?是吗,listwithentrys.Items.Cast<string>().Where(x => toCheck.Any(check => x.Contains(check)))应该可以工作。 -
“它似乎无法正常工作”并不是对问题的明确定义。你能解释一下结果是怎么错的吗?
-
@WiktorStribiżew 是的,先生,这是主要名单
-
抱歉,不知道您所说的“主列表”是什么意思。看我编辑的置顶评论,需要从列表框中获取字符串列表,然后可以用
Where查询。 -
@WiktorStribiżew 当我使用此代码时,当我有一家名为 SAP 的公司和另一家名为 BAMSAP 的公司时,我的结果会以某种方式被操纵,它会同时输出两者