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

启动WinForm窗体时触发System.ArgumentNullException(item参数为空)如何解决?

修复System.ArgumentNullException: 'Value cannot be null. (Parameter 'item')'错误

错误原因

你在ZenderArray方法中创建了长度为100的字符串数组,但仅对前3个元素赋值,剩余97个元素默认值为null。当循环遍历整个数组并向LbZenders(ListBox)添加元素时,添加null项会触发该异常——ListBox不允许插入null值。

修复方案

提供三种可行的修复方式,按需选择:

方案1:缩短数组长度,仅定义所需元素

直接初始化包含有效频道的数组,避免出现null元素:

void ZenderArray()
{
    string[] Zenders = new string[] { "NPO1", "NPO2", "NPO3" };

    LbZenders.Items.Clear();

    foreach (string zender in Zenders)
    {
        LbZenders.Items.Add(zender);
    }
}

方案2:循环中过滤null元素

保留原数组长度,但添加元素前判断是否为null,只插入有效内容:

void ZenderArray()
{
    string[] Zenders = new string[100];
    Zenders[0] = "NPO1";
    Zenders[1] = "NPO2";
    Zenders[2] = "NPO3";

    LbZenders.Items.Clear();

    for(int i= 0; i < Zenders.Length; i++) 
    {
        if (Zenders[i] != null)
        {
            LbZenders.Items.Add(Zenders[i]);
        }
    }
}

方案3:使用List存储频道(更灵活)

用泛型列表替代数组,动态添加有效频道,避免null问题:

void ZenderArray()
{
    List<string> Zenders = new List<string>
    {
        "NPO1",
        "NPO2",
        "NPO3"
    };

    LbZenders.Items.Clear();
    LbZenders.Items.AddRange(Zenders.ToArray());
}

内容的提问来源于stack exchange,提问作者big coding monkey

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 18:13:17