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

Unity中C#代码报错CS1061:DataBase类无items定义求助

解决Unity中CS1061错误:'DataBase' 不包含 'items' 的定义

问题根源是字段名拼写不匹配:你的DataBase类里声明的List字段叫item,但报错代码里一直用data.items访问,编译器找不到对应成员,因此抛出CS1061错误。

有两种修正方案,任选其一即可:

方案一:修改DataBase类的字段名(推荐)

把类中的item改为items,既和调用代码保持一致,也符合复数形式的命名规范:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DataBase : MonoBehaviour
{
    // 将item改为items
    public List<Item> items = new List<Item>();
}

[System.Serializable]
public class Item
{
    public int id;
    public string name;
    public Sprite img;
    public int cost;
    public int kolvo;
}

方案二:修改调用代码的引用

如果不想改动类的字段名,就把所有data.items替换为data.item:

public DataBase data;
// 修改后的调用代码
AddItem(i, data.item[Random.Range(0, data.item.Count)], Random.Range(1,99));
items[id].itemGameObj.GetComponent<Image>().sprite = data.item[invItem.id].img;

优先推荐方案一,能和你参考的教程写法对齐,后续代码维护也更清晰。

内容的提问来源于stack exchange,提问作者Reya

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 13:10:30