C#从另一个类访问字典无效

njs*_*njs 2 c# dictionary reference object

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

我有两个类/文件.program.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"]);
Run Code Online (Sandbox Code Playgroud)

和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}
            };
        }
    }
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

Mar*_*zek 8

        Dictionary<string, int> dOffsets = new Dictionary<string, int>()
        {
            {"roomtargets", 0x0018FA48}
        };
Run Code Online (Sandbox Code Playgroud)

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

        dOffsets = new Dictionary<string, int>()
        {
            {"roomtargets", 0x0018FA48}
        };
Run Code Online (Sandbox Code Playgroud)

或者this.dOffsets说清楚一点.