c# - 如果项目编号不同,如何从 3 个单独的列表框中列出项目?
问题描述
你好!
任务:3 人在 3 家不同的酒店住宿时被谋杀。谋杀不是在同一天发生的。您有来自每家酒店的 3 个列表,其中包含住在那里的人的姓名。如果您发现匹配的名称,请将其列为嫌疑人。
private void button1_Click(object sender, EventArgs e)
{
int index = 0;
for (int i = 0; i < n2; i++) //I have 3 different 'n's, n2 is the largest, that is why I use it here (n - listBox1; n2 - listBox2; n3 - listBox3)
{
if (Convert.ToString(listBox1.Text[i]) == Convert.ToString(listBox2.Text[i]) || Convert.ToString(listBox1.Text[i]) == Convert.ToString(listBox3.Text[i]) || Convert.ToString(listBox2.Text[i]) == Convert.ToString(listBox3.Text[i]))
{
listBox4.Items.Add(goldensheep[index]);
index++;
}
}
}
我有 中列出的所有数据,listBox1
目标是。名称可以在数组中找到:“goldensheep”、“goldenbull”、“goldenostrich”,但我在这里只使用了“goldensheep”,因为我相信(d)这是唯一需要的。listBox2
listBox3
listBox4
当我单击 button1 时,出现错误,但不幸的是我不知道为什么会发生这种情况。
在此先感谢,祝您有美好的一天!:)
解决方案
您收到错误是因为listBox1
or的最后一个索引listBox3
小于 n2。您实际上只比较每个列表的相同索引的项目。
我将addRange()
所有三个列表,distinct()
它们接收所有可能的名称。遍历这些名称以检查它们是否出现在所有三个列表中。
推荐阅读
- python - Python多处理对角化
- javascript - 如何在VUE js中从一个组件到另一个组件的动态更改数组
- ios - swift4:SWRevealViewController 中的后退按钮
- jquery - Angular 6 Mat Tables 同步滚动
- laravel-backpack - Laravel-backpack 显示总列
- node.js - 使用 npm 安装 angular/cli 时出错
- java - 如何在 Android 设备的 Mac OS 上以 Java 编程方式执行 ADB 命令
- codeblocks - 如何在代码块中运行我的程序之前设置/取消设置环境变量
- android - 约束布局必须为每个字段分开,否则它将是一个父布局
- sql - 我需要遍历表并在另一个表中插入新记录