C# 如何在课堂上保存字段的值

C# 如何在课堂上保存字段的值,c#,C#,我有一个问题,使类作为值类型。这是我的例子: class exampleClass { private List<string> temp = new List<string>(); public exampleClass(List<string> list) { temp = list; } public List<string> list { get { return temp; }

我有一个问题,使类作为值类型。这是我的例子:

class exampleClass
{
    private List<string> temp = new List<string>();

    public exampleClass(List<string> list)
    {
        temp = list;
    }

    public List<string> list { get { return temp; } }
}
类示例类
{
私有列表临时值=新列表();
公共示例类(列表)
{
临时=列表;
}
公共列表列表{get{return temp;}}
}
。。。并初始化窗口:

public MainWindow()
{
    List<string> exampleList = new List<string>();
    exampleList.Add("TEST");
    Klasy.exampleClass test = new Klasy.exampleClass(exampleList);
    exampleList.Clear();
    InitializeComponent();
}
public主窗口()
{
List exampleList=新列表();
示例列表。添加(“测试”);
Klasy.exampleClass test=新的Klasy.exampleClass(示例列表);
exampleList.Clear();
初始化组件();
}
我的问题是:当我清除exampleList时,如何在exmapleClass中保存list的值。我应该在课堂上改变什么,使其独立于示例列表?


谢谢

您正在传递列表引用,而不是创建一个新的列表实例并将其传递给
exampleClass
,这样即使exampleList已清除,也不会影响exampleClass

    public MainWindow()
    {
        List<string> exampleList = new List<string>();
        exampleList.Add("TEST");
        Klasy.exampleClass test = new Klasy.exampleClass(new List<string>(exampleList));
        exampleList.Clear();
        InitializeComponent();
    }
public主窗口()
{
List exampleList=新列表();
示例列表。添加(“测试”);
Klasy.exampleClass test=新Klasy.exampleClass(新列表(exampleList));
exampleList.Clear();
初始化组件();
}

复制列表引用以外的所有元素。向下投票时可能至少复制一个元素,这解释了原因。他不会明白的,他是新来的。同样,在发布新问题之前,您应该阅读并查看页面,以了解网站的工作方式。此类用户不应负责保证其按预期工作。类本身负责在构造函数中创建一个新的列表实例。否则,10人中有9人将以错误的方式使用该类。