c#从列表中删除项目,但不知道索引号

用户名

我有一个列表,列出了我的对象:

List<MyObj> list = new List<MyObj>();

我的函数收到MyObj作为参数,我想从列表中删除该对象,如这里的建议:c#从列表中删除项目

    private void remove(MyObj obj)
    {
        var itemToRemove = list.Where(x => x.fileName == obj.fileName);

        if (itemToRemove != null)
            list.Remove(itemToRemove);
    }

收到编译器错误:

无法从“ System.Collections.Generic.IEnumerable”转换为“ namespace.MyObj”

o汁

Where() 返回一个 IEnumerable<>

尝试这个:

private void remove(MyObj obj)
{
    var itemToRemove = list.Where(x => x.fileName == obj.fileName);

    if (itemToRemove.Any())
        list.Remove(itemToRemove.First());
}

更好的是,因为您正在使用List<>

list.RemoveAll(x => x.fileName == obj.fileName);

编辑

从下面的评论来看,其他解决方案同样可行。选择您的毒药,尽管很自私(也许很明显),我更喜欢该RemoveAll方法的可读性和简单性

针织物:

list = list.Where(x => x.filename != obj.filename).ToList();

耶隆·范·朗根(Jeroen van Langen)

var itemToRemove = list.Where(x => x.fileName == obj.fileName).FirstOfDefault(); 
if (itemToRemove != null)
    list.Remove(itemToRemove);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当我不知道元素的索引号时如何从列表中删除它

来自分类Dev

从数组中删除“ this”而不知道索引?

来自分类Dev

我已经设置了Web服务,但不知道如何在MVC 5 C#中从中获取数据

来自分类Dev

这个 for circle 无法删除列表中的每个相同元素,我不知道为什么

来自分类Dev

可以使用C#中的用户输入来计算年龄,但不知道为什么会起作用

来自分类Dev

在C#中声明不知道其大小的2D数组

来自分类Dev

在C#中声明不知道其大小的2D数组

来自分类Dev

如何在不知道 C# 中的底层类型的情况下遍历数组

来自分类Dev

C#不知道从这里去哪里

来自分类Dev

在 C# 中选择子类而不知道它的名称

来自分类Dev

Flutter从集合中获取文档,但不知道其ID但知道文件名

来自分类Dev

不知道如何在C中检查输入参数

来自分类Dev

我不知道的已删除元素

来自分类Dev

在不知道其名称的情况下删除MySQL列索引

来自分类Dev

想要删除列表中索引0处的“ 0”,但不删除10,20,30 ..... C#

来自分类Dev

Javascript:在数组中查找对象的索引,不知道索引,仅查找对象

来自分类Dev

列表索引超出范围,我不知道为什么

来自分类Dev

获取.exe目录中列出的所有文件,但不知道位置

来自分类Dev

我回显了数据,但不知道如何将其连接到锚标记中

来自分类Dev

目标C-返回子类的实例,但不知道它是什么

来自分类Dev

如何将对象转换为C ++ / CLI中我不知道类型参数的通用列表?

来自分类Dev

从列表C#中删除随机项目

来自分类Dev

从列表C#中删除随机项目

来自分类Dev

C# 从 XML 列表中删除项目

来自分类Dev

简单的SQL查询,但不知道如何解决

来自分类Dev

收到“ ArgumentOutOfRangeException”错误,但不知道如何?

来自分类Dev

尝试使用动态LINQ,但不知道从哪里开始?

来自分类Dev

收到“ ArgumentOutOfRangeException”错误,但不知道如何?

来自分类Dev

网络抓取缓慢但不知道为什么

Related 相关文章

  1. 1

    当我不知道元素的索引号时如何从列表中删除它

  2. 2

    从数组中删除“ this”而不知道索引?

  3. 3

    我已经设置了Web服务,但不知道如何在MVC 5 C#中从中获取数据

  4. 4

    这个 for circle 无法删除列表中的每个相同元素,我不知道为什么

  5. 5

    可以使用C#中的用户输入来计算年龄,但不知道为什么会起作用

  6. 6

    在C#中声明不知道其大小的2D数组

  7. 7

    在C#中声明不知道其大小的2D数组

  8. 8

    如何在不知道 C# 中的底层类型的情况下遍历数组

  9. 9

    C#不知道从这里去哪里

  10. 10

    在 C# 中选择子类而不知道它的名称

  11. 11

    Flutter从集合中获取文档,但不知道其ID但知道文件名

  12. 12

    不知道如何在C中检查输入参数

  13. 13

    我不知道的已删除元素

  14. 14

    在不知道其名称的情况下删除MySQL列索引

  15. 15

    想要删除列表中索引0处的“ 0”,但不删除10,20,30 ..... C#

  16. 16

    Javascript:在数组中查找对象的索引,不知道索引,仅查找对象

  17. 17

    列表索引超出范围,我不知道为什么

  18. 18

    获取.exe目录中列出的所有文件,但不知道位置

  19. 19

    我回显了数据,但不知道如何将其连接到锚标记中

  20. 20

    目标C-返回子类的实例,但不知道它是什么

  21. 21

    如何将对象转换为C ++ / CLI中我不知道类型参数的通用列表?

  22. 22

    从列表C#中删除随机项目

  23. 23

    从列表C#中删除随机项目

  24. 24

    C# 从 XML 列表中删除项目

  25. 25

    简单的SQL查询,但不知道如何解决

  26. 26

    收到“ ArgumentOutOfRangeException”错误,但不知道如何?

  27. 27

    尝试使用动态LINQ,但不知道从哪里开始?

  28. 28

    收到“ ArgumentOutOfRangeException”错误,但不知道如何?

  29. 29

    网络抓取缓慢但不知道为什么

热门标签

归档