繁体   English   中英

C / C ++全局变量的等效项是什么?

[英]What is the equivalent of a C/C++ global variable?

我是C#的新手。 来自C / C ++环境。 我的应用程序有一个List<Model> ,它是各地不同类所需要的。 问题在于复制将不起作用,因为以下语句:

dataGrid.ItemsSource = myModelList;

需要原件按地址。 我尝试更改一些参数,并将该特定变量作为ref传递,但是一旦给它分配了等号,我就会得到一个副本。 正确?

您可以将其设置为单例。 但是,到处都需要一份具体的清单,这会使我认真考虑自己的设计。

至少您应该考虑编写一个类来控制对列表的访问(添加,删除,清除等),并将其设置为“全局”,否则,您将陷入困境,直到它迷上了风扇。 。

您可以为其创建一个带有公共静态列表的公共类。 这样您便可以随处访问。

例如

public class FakeGlobal
{
    public static List<Model> MyModelList = new List<Model>();
}

甚至使其具有getter / setter属性。

创建一个公共类,并在类中将您希望传递的内容声明为static。 然后以NameOfClass.NameOfMethod()的身份访问它

public class NameOfClass
{
    public static RETURNTYPE NameOfMethod()
    {
        // Your Code
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM