【问题标题】:C# RemoveAll return value and count objects removedC# RemoveAll 返回值和计数对象被删除
【发布时间】:2018-03-02 03:25:12
【问题描述】:

我是 C# 新手,我有一个使用 removeAll 从列表中删除对象的方法,但我不太确定返回值是什么。我环顾四周,但很难找到明确的答案。

该方法是根据对象是否被移除返回值 1 还是 0,还是返回被移除对象的数量?如果它只是返回 1 或 0,我将如何计算已删除的对象数量?

    public bool Remove(string name)
    {
        if (this.list.RemoveAll(x => x.Name.Equals(name)) == 1)
        {
            return true;
        }

        return false;
    } 

【问题讨论】:

  • 我不明白。你的标记发生了什么??
  • 这肯定是 MS 记录的,请查一下。
  • 我将一个名称传递给该方法,它正在删除具有该名称的所有对象,然后根据是否删除某些内容返回 true 或 false
  • 一个简单的谷歌搜索“C# RemoveAll”会将你重定向到documentation page
  • 另外,你可以驱逐if,只需写return this.list.RemoveAll(x => x.Name.Equals(name)) == 1

标签: c# removeall


【解决方案1】:

根据MSDN for List.RemoveAll()

返回值类型:System.Int32 移除的元素个数 列表。

所以你可以return this.list.RemoveAll(x => x.Name.Equals(name))

【讨论】:

    【解决方案2】:

    假设list 的类型为List<string>,请注意数据结构可以包含重复项。考虑到这一点,使用返回值是删除元素的数量这一事实:

    public bool Remove(string name)
    {
        return this.list.RemoveAll(x => x.Name.Equals(name)) >= 1;
    }
    

    【讨论】:

      猜你喜欢
      • 2016-06-27
      • 1970-01-01
      • 1970-01-01
      • 2019-05-13
      • 2022-06-14
      • 1970-01-01
      • 1970-01-01
      • 2018-02-22
      • 2015-05-01
      相关资源
      最近更新 更多