c# - 清空列表<string>

标签 c# .net list

<分区>

这可能在某个地方有人问过,但我找不到。

我有一个这样的字符串列表:

public static List<string> AnimalsL = new List<string>();

public static void ListAnimals()
  {
    AnimalsL.Add("Animal one");
    AnimalsL.Add("Animal two");
   }

public static void ReturnAnimals()
{
    string[] Animals = AnimalsL.ToArray();
    if(AnimalsL != null)
    { 
        for(int Index = 0; Index < Animals.Length; Index++)
        { 
            System.Windows.Forms.MessageBox.Show(Animals[Index].ToString()); 
        }
    }        
}

[b]以上是工作代码[/b]

所以,正如标题所说,我真正的问题是:如何完全清空一个字符串列表?

例如,如果动物类型是蛇或狗,我可能想要存储动物名称,并且我不希望它们进入同一类别,或者如果我想在添加到之前确保列表为空它,或者在我对动物使用我的方法后清除它。

我正在考虑声明 Animals[] = string.Empty,但这实际上不会清除列表..

最佳答案

有两种方法可以做到这一点。

1.

AnimalsL.Clear(); // clears all the items in the list

2.

AnimalsL = new List<string>(); // assigns a new instance

实际上,创建一个新实例比调用 Clear 方法更快,但如果您想保留对该对象的引用,那么调用 Clear 方法会更好。

这是 Clear() 与 new List 的基准测试 Link

关于c# - 清空列表<string>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27096787/

相关文章:

c# - 为什么控件与我正在使用的线程位于不同的线程上?

c# - 应将包装的 EF 实体保存在哪个类中?

c# - 无法加载文件或程序集 'System.Windows.Interactivity'

c# - 使用asp的excel行数

ios - 在显示 contextMenu 时做一些事情

c# - 如何在绑定(bind)中将 FallbackValue 设置为外部图像文件的路径?

c# - 添加带有颜色指示器 ASP.NET 图表的自定义图例

python - 单个列表到字典

java - 在使用 Map.Entry<String, Map<Date, List<SomeObject>>> 的三个 for-each 叠瓦式中,当我迭代时为什么在第二个 for-each 循环中出现异常?

.net - 什么是Visual Studio 2008中的 "Client-only Framework subset"?