Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 字典没有';t在包含值时从不同的类返回值_C#_Dictionary - Fatal编程技术网

C# 字典没有';t在包含值时从不同的类返回值

C# 字典没有';t在包含值时从不同的类返回值,c#,dictionary,C#,Dictionary,我试图保存关于用户SteamID和他在游戏中的位置的信息,下面是我每0.5秒将此人传送到保存位置的代码,它在控制台中完美地返回此信息 键:76561198333850828,值:(605.0,41.8618.5) 我完全不知道是什么导致了这个问题。你是如何定义numberNames的? 如果有两个定义,每个类一个,那么它们是完全不同的对象,即使它们共享相同的名称 即使一个类中有一个定义,除非它是静态的,否则同一个类的不同实例将有不同的对象。我在您看到第一个代码块的类中定义了它,我将进行编辑,以便

我试图保存关于用户SteamID和他在游戏中的位置的信息,下面是我每0.5秒将此人传送到保存位置的代码,它在控制台中完美地返回此信息

键:76561198333850828,值:(605.0,41.8618.5)


我完全不知道是什么导致了这个问题。

你是如何定义numberNames的? 如果有两个定义,每个类一个,那么它们是完全不同的对象,即使它们共享相同的名称


即使一个类中有一个定义,除非它是静态的,否则同一个类的不同实例将有不同的对象。

我在您看到第一个代码块的类中定义了它,我将进行编辑,以便您看到字典定义,对此表示歉意。您是对的,谢谢!第一个类和具有
remname()
方法的类之间的关系是什么?您能告诉我们您在哪里调用
remname()
  IDictionary<Steamworks.CSteamID, Vector3> numberNames = new Dictionary<Steamworks.CSteamID, Vector3>();

                        while (numberNames.Count > 0)
                        {
                            foreach (KeyValuePair<Steamworks.CSteamID, Vector3> info in numberNames)
                            {
                                UnturnedPlayer steamidplayer = UnturnedPlayer.FromCSteamID(info.Key);
                                steamidplayer.Teleport(info.Value, 0);
                                Console.WriteLine("Key: {0}, Value: {1}", info.Key, info.Value);
                                await Task.Delay(TimeSpan.FromSeconds(0.5));
                            }
                        }
        internal void remname(Steamworks.CSteamID SteamID)
        {
            if (numberNames.ContainsKey(SteamID))
            {
                numberNames.Remove(SteamID);
            } else
            {
                Console.WriteLine("Doesnt contains");
            }
        }