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

UWP开发中已初始化的ListBoxItem数组报NullReferenceException原因求解

问题原因及修复方案

核心诱因1:引用类型数组的元素未实例化

ListBoxItem属于引用类型,new ListBoxItem[512]仅为数组本身分配了连续的内存空间,数组内的每个元素默认值为null,并没有自动生成ListBoxItem的实例对象。你在循环中直接访问item[i].Content相当于访问null对象的属性,因此触发NullReferenceException。

核心诱因2:ListBox批量添加条目方法错误

listBox1.Items.Add()方法仅支持添加单个条目,传入数组会将整个数组作为单一条目挂载到ListBox中,无法达到你要批量展示所有条目的效果,需要改用AddRange()方法实现批量添加。

修正后代码

ListBoxItem[] item = new ListBoxItem[512];
for (int i = 0; i <= 511; i++)
{
    // 先实例化当前索引对应的ListBoxItem对象
    item[i] = new ListBoxItem();
    item[i].Content = "Preset " + (i + 1) + ":" + presets[i];
}
listBox1.Items.Clear();
// 批量添加数组内所有元素
listBox1.Items.AddRange(item);

补充说明:你之前在WinForms中运行相同逻辑没有报错,大概率是你之前的WinForms代码中隐式包含了ListBoxItem的实例化步骤,并非框架差异导致的兼容问题。

内容的提问来源于stack exchange,提问作者na-no.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:15:04