私は答えに近づいていますが、迷惑なことに、完全ではありません。これまでのところ、私のコードは次のとおりです。
private void lstIndividuals_SelectedIndexChanged(object sender, EventArgs e)
{
var individual = lstIndividuals.SelectedItem as Individual;
var tempSimilarFilesToFile1 = new HashSet<Individual>();
int Counter = 0;
foreach (KeyValuePair<int, Individual> kvpInd in _Individuals1)
{
tempSimilarFilesToFile1 = new HashSet<Individual>();
foreach (KeyValuePair<int, Individual> kvpInd2 in _Individuals2)
{
if (kvpInd.Value.name.name.ToLower() == kvpInd2.Value.name.name.ToLower())
{
Counter++;
similarInds.Add(kvpInd.Value);
if (Counter >= 1)
{
tempSimilarFilesToFile1.Add(kvpInd2.Value);
}
}
}
lstIndividuals2.DataSource = tempSimilarFilesToFile1.ToList();
lstIndividuals2.DisplayMember = "DisplayName";
lstIndividuals2.ValueMember = "id";
}
ご覧のとおり、lstIndividuals2
リストボックスの項目は非常に高速に拡大されています。アイテムをクリックしたいだけですlstIndividuals
次に、見つかった同様のレコードを表示したいと思います(ルールに従うものは何でもkvpInd.value.name.name == kvpInd2.value.name.name
)
同様のすべてのアイテムを保存したいと思いtempSimilarFilesToFile1
ます。lstIndividual2
説明が下手でしたら申し訳ありません。
ありがとうございました。