gpt4 book ai didi

c# - WPF 中的应用程序级别变量

转载 作者:行者123 更新时间:2023-11-30 15:00:39 25 4
gpt4 key购买 nike

我在一个窗口中有一个应用程序级变量

  object temp1 = App.Current.Properties["listofstring"];

var temp2 = (List<string>)temp1;

当我改变的时候让我们说

 temp2[0]="abc";

它还改变了 "listofstring"

所以我复制了一份

List<string> temp3 = temp2;

但如果我这样做

 temp3[0] ="abc"; 

当在其他窗口中访问时,它在 "listofstring" 中也会发生变化吗?

如何在声明后仅使用它的本地副本不打扰它的内容?

最佳答案

您不是在复制列表,而是在复制引用。你可以这样做:

List<string> temp3 = new List<string>(temp2.ToArray());
//or
List<string> temp3 = new List<string>(temp2);

或者

List<string> temp3 = temp2.Select(r=>r).ToList();
//or
List<string> temp3 = temp2.ToList();

关于c# - WPF 中的应用程序级别变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15247890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com