Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.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# C/C++全局变量的等价物是什么?_C#_Wpf_Datagrid - Fatal编程技术网

C# C/C++全局变量的等价物是什么?

C# C/C++全局变量的等价物是什么?,c#,wpf,datagrid,C#,Wpf,Datagrid,我是C新手,来自C/C++环境。我的申请表上有一个名单,每个班级都需要这个名单。问题是,副本不起作用,因为此语句: dataGrid.ItemsSource = myModelList; 需要原始地址。我试图改变一些参数,并将特定变量作为ref传递,但一旦给它赋值等号,我就得到了一个副本。正确吗?您可以为它创建一个公共类,其中包含一个公共静态列表。你可以在任何地方访问它 乙二醇 甚至可以使用getter/setter将其作为属性。您可以为其创建一个公共类,其中包含一个公共静态列表。你可以在任何

我是C新手,来自C/C++环境。我的申请表上有一个名单,每个班级都需要这个名单。问题是,副本不起作用,因为此语句:

dataGrid.ItemsSource = myModelList;

需要原始地址。我试图改变一些参数,并将特定变量作为ref传递,但一旦给它赋值等号,我就得到了一个副本。正确吗?

您可以为它创建一个公共类,其中包含一个公共静态列表。你可以在任何地方访问它

乙二醇


甚至可以使用getter/setter将其作为属性。

您可以为其创建一个公共类,其中包含一个公共静态列表。你可以在任何地方访问它

乙二醇


甚至可以使用getter/setter将其作为属性。

创建一个公共类,并在类中声明要传递的内容为static。然后以NameOfClass.NameOfMethod的形式访问它

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

创建一个公共类,并在该类中声明要传递的内容为static。然后以NameOfClass.NameOfMethod的形式访问它

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

你可以让它成为单身汉。 然而,到处都需要一份具体的清单,这会让我认真思考我的设计


<>至少你应该考虑编写一个类来控制对列表的访问、添加、删除、清除等,并使其成为全局性的,否则你将处于一个棕色的东西中,直到它击中扇子。

你可以使它成为一个单独的个体。 然而,到处都需要一份具体的清单,这会让我认真思考我的设计



至少你应该考虑编写一个类来控制对列表的访问、添加、删除、清除等,并使其成为全局性的,否则你将陷入一个棕色的东西中,直到它碰到扇子。

XY问题。1-在C.2中没有严格意义上的全局变量-你不应该弄乱ref之类的东西。3-var a=某个其他列表;默认情况下,通过引用使列表等于someotherlist。你在这背后遇到了什么问题?不,你不会得到一份拷贝。等号复制引用类型(包括列表)的引用。@TravisBanger您可能需要一个observeCollection而不是列表。@TravisBanger实际上不需要。对于.Net,这几乎是一样的,只要添加Task.Factory.StartNew,或者如果您使用的是C 5,async/await。@Travis,我肯定不会开始线程化,直到我非常清楚地知道我想要线程化什么,并且对它进行了测试。XY问题。1-在C.2中没有严格意义上的全局变量-你不应该弄乱ref之类的东西。3-var a=某个其他列表;默认情况下,通过引用使列表等于someotherlist。你在这背后遇到了什么问题?不,你不会得到一份拷贝。等号复制引用类型(包括列表)的引用。@TravisBanger您可能需要一个observeCollection而不是列表。@TravisBanger实际上不需要。对于.Net,这几乎是一样的,只要添加Task.Factory.StartNew或者如果您使用的是C 5,async/await。@Travis,我肯定不会开始线程化,直到我非常清楚地知道我想要线程化什么,并且对它进行了测试。这不是,甚至是,不要失败。拥有全局变量已经够糟糕的了,一个任何傻瓜都可以在任何时候改变,却不知道自己做了一些潜在的可怕的事情的变量就是自找麻烦。关于setter/getter。。。我在答案的底部已经说过了。但这取决于开发者的选择。在游戏中玩了几十年之后,我可以保证我永远不会选择做你发布的事情。你需要有价值的人质才能让我考虑它。或者用于通用/全局变量的公共类的整个概念?如果我可以避免全局变量,我会,如果我不能,我会确保我至少可以记录这样一个事实,即有人将我需要的列表交换到了一个完全不同的列表,现在它将在任何地方都可用。有了二传手,我会做鬼脸,但我不会觉得有必要发表评论。这不是,甚至是,不要失败。拥有全局变量已经够糟糕的了,一个任何傻瓜都可以在任何时候改变,却不知道自己做了一些潜在的可怕的事情的变量就是自找麻烦。关于setter/getter。。。我在答案的底部已经说过了。但这取决于开发者的选择。在游戏中玩了几十年之后,我可以保证我永远不会选择做你发布的事情。你需要有价值的人质才能让我考虑它。或者用于通用/全局变量的公共类的整个概念?如果我可以避免全局变量,我会,如果我不能,我会确保我至少可以记录这样一个事实,即有人将我需要的列表交换到了一个完全不同的列表,现在它将在任何地方都可用。一套
呃,这会让我做鬼脸,但我不觉得有必要发表评论。Tony,在这种情况下使用单例比使用静态成员的类有什么好处?你可以使用单例来做更多的事情,它显示了一种特殊的意图,但我不知道在这种情况下是否更好。我只是把它作为当时其他人没有的选项发布,OP提供的信息也不够多,无法选择其中一个。当然,这并不能解决所有选择全局化的问题。Tony,在这种情况下使用单例比使用静态成员的类有什么优势?使用单例可以做得更多,而且它显示了一种特殊的意图,但我不知道在这种情况下是否更好。我只是把它作为当时其他人没有的选项发布,OP提供的信息也不够多,无法选择其中一个。当然,它并不能解决所有的问题,而是选择了一些全球性的东西。这个线程安全吗?名单在哪里?在两个公众之间?这个线程安全吗?名单在哪里?在两个公众之间?