C# 为什么删除静态限定符会更改我的程序';谁的产量?
当我以屏幕截图中显示的方式运行程序时,输出不会打印列表中的元素。但是,当我将C# 为什么删除静态限定符会更改我的程序';谁的产量?,c#,C#,当我以屏幕截图中显示的方式运行程序时,输出不会打印列表中的元素。但是,当我将static限定符添加到PlayersInTheGame字段时,我的程序会正确打印元素。我想了解为什么在这种特定情况下需要静态 这是我的程序及其输出的屏幕截图。请看下面的说明: 因为你假设它是一个全局变量,而不是另一个类的成员?您的程序应该执行以下操作: a.AddPlayerToGame(A); a.AddPlayerToGame(B); a.AddPlayerToGame(C); 或者将游戏实例作
static
限定符添加到PlayersInTheGame
字段时,我的程序会正确打印元素。我想了解为什么在这种特定情况下需要静态
这是我的程序及其输出的屏幕截图。请看下面的说明:
因为你假设它是一个全局变量,而不是另一个类的成员?您的程序应该执行以下操作:
a.AddPlayerToGame(A);
a.AddPlayerToGame(B);
a.AddPlayerToGame(C);
或者将游戏
实例作为参数,以便将玩家链接到游戏
的特定实例。当列表是静态的时,那么它是唯一的,可以按照您这样做的方式使用。您可以复制并粘贴代码吗?图像不会出现在我身上,可能也会出现在其他人身上。。。此外,您的标题也没有帮助(这些应该是标记)标题应该是特定的静态的字段在类的所有实例中共享。您正在创建游戏
类的多个实例。如果没有静态
,每个人都会得到自己的列表副本。当您使用static
时,它们都共享相同的列表;在一个游戏中添加到列表中的内容会在其他游戏实例中显示。请参阅。请在编辑器中输入相关代码,而不是在图像中。这是给其他人一个机会去寻找类似的问题。当你输入一个写得很好的问题时,你可能会自己找到答案——我已经这么做过很多次了。屏幕截图显示,问题是可以回答的。投票重新开放。欢迎来到这个网站!如果您粘贴一些代码,您的问题肯定会更好。您不必粘贴整个内容,只需粘贴您看到的相关部分。