复制列表时使用ToList()

时间:2017-09-21 14:25:22

标签: c# visual-studio list

我在C#(Visual Studio)中有一个程序,部分代码如下所示:

第1课:

private void part_TextChanged(object sender, EventArgs e)
{
    List<string> parameters = part.selectedParameters;
    // Lots of code
    List<string> allParameters = parameters.ToList(); 

    for (int k = 0; k < limit; k++)
    {
        allParameters.Add("text");
    }    
}

第2课:

public bool DoAnalysis()
{
     List<string> partParameters = part.selectedParameters;
     // Lots of code
     List<string> allPartParameters = partParameters; 

     for (int k = 0; k < limit; k++)
     {
        allPartParameters.Add("text");
     }  
}

我的问题是关于ToList()的使用。我想将List1复制到List2并使用List2而不更改List1。将此应用于我的代码,我使用.ToList()来处理这个问题。添加ToList()在第1类中不是问题 - &gt; parameters.ToList()但是当我想在第2课中将其添加到List<string> allPartParameters = partParameters时,这是不可能的。我只获得选项ToArray()ToString()

那么,为什么我可以在代码的一部分中将ToList()添加到List而不在另一部分中呢?我在代码中的其他地方错过了一些属性依赖吗?

1 个答案:

答案 0 :(得分:0)

通常有依赖性问题,您可以右键单击红色突出显示的代码并选择&#34;快速操作和重构&#34;然后列表将出现您可能使用的依赖项。这样可以节省你输入的时间,并帮助我吨。