C# 从另一个类访问字典不起作用

标签 c# object dictionary reference

我是 C# 的新手,过去 3 天一直在努力学习。我很好奇为什么下面的代码不能正常工作?当我尝试调用 data.dOffsets["roomtargets"] 时,出现以下错误:未将对象引用设置为对象的实例。。但是,调用 data.sProcessName 确实没有任何错误。

我有两个类/文件。程序.cs:

class Program
    {
        public static Data data = new Data();

        static void Main(string[] args)
        {
            Console.WriteLine("data.sProcessName: {0}", data.sProcessName);
            Console.WriteLine("data.dOffsets[\"roomtargets\"]: {0}", data.dOffsets["roomtargets"]);

和 Data.cs:

public class Data
    {
        public string sProcessName { get; set; }
        public Dictionary<string, int> dOffsets { get; set; }

        public Data()
        {
            sProcessName = "Client";

            Dictionary<string, int> dOffsets = new Dictionary<string, int>()
            {
                {"roomtargets", 0x0018FA48}
            };
        }
    }

如有任何帮助,我们将不胜感激!

最佳答案

        Dictionary<string, int> dOffsets = new Dictionary<string, int>()
        {
            {"roomtargets", 0x0018FA48}
        };

此代码将字典初始化为构造函数中的内部变量。将其更改为:

        dOffsets = new Dictionary<string, int>()
        {
            {"roomtargets", 0x0018FA48}
        };

this.dOffsets使其更清晰。

关于C# 从另一个类访问字典不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14304770/

相关文章:

python - 仅对列表中的列表的字典值进行排序

python - 如何使用 python 2.7+ 生成 JSON 数据

c# - 更改数组大小

c# - 透明Windows窗体,内部有OpenGL绘图

c# - NHibernate Group By 父实体没有 N+1 查询?

javascript - 在Javascript单例中用数组成员初始化对象成员的属性

javascript - 为什么添加 "{" "}"会从数组中删除括号? (JavaScript)

javascript - 如何在 Javascript 中将字符串作为带有引号的参数传递

json - 按键排序字典

c# - 在 Entity Framework 中存储自定义对象列表