You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# WPF如何向ComboBox添加对象列表?重复显示最新名称问题排查

问题分析与解决方案

嘿,这问题的根源其实就在你代码里的一个小疏忽!你看这段循环代码:

private void TabSupp_Famille(object sender, RoutedEventArgs e) { 
    CBFamilleSuppr.Items.Clear(); 
    foreach (Famille unPrenomMere in LesFamilles) { 
        CBFamilleSuppr.Items.Add(uneFamille.GetNomMere()+" "+ uneFamille.GetPrenomMere()); 
    } 
}

你在foreach循环里定义的迭代变量是unPrenomMere,但调用GetNomMere()和GetPrenomMere()的时候,用的却是uneFamille这个变量!这就导致循环跑了7次,但每次都是把uneFamille指向的对象名称添加到ComboBox里——如果uneFamille最后刚好是LesFamilles里的最后一个对象,那ComboBox里自然全是它的名字啦。

只需要把调用方法的变量换成循环里的迭代变量unPrenomMere就行,修正后的代码如下:

private void TabSupp_Famille(object sender, RoutedEventArgs e) { 
    CBFamilleSuppr.Items.Clear(); 
    foreach (Famille unPrenomMere in LesFamilles) { 
        // 把uneFamille换成unPrenomMere,使用当前循环迭代的对象
        CBFamilleSuppr.Items.Add(unPrenomMere.GetNomMere() + " " + unPrenomMere.GetPrenomMere()); 
    } 
}

这样循环的时候,每次都会取当前迭代到的Famille对象,ComboBox里就能正确显示每个对象的名称啦。

内容的提问来源于stack exchange,提问作者Aurélien

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:25:39