如何从代码较少的列表中删除类?

Mel*_* NG 1 c#

这是一堂课:

public class ABC
        {
            public string A;
            public string B;
        }
Run Code Online (Sandbox Code Playgroud)

我想从A等于123的列表中删除该类.这里是代码:

List<ABC> L = new List<ABC>();
            ABC ClassToRemove=null;
            foreach (ABC Single in L)
            {
                if (Single.A == "123")
                {
                    ClassToRemove = Single;
                    break;
                }
            }
            if (ClassToRemove != null)
            {
                L.Remove(ClassToRemove);
            }
Run Code Online (Sandbox Code Playgroud)



这段代码可以做到这一点.但是我觉得它太长而且难看.我想知道是否有更快的方法来实现它并且代码更好一些?

tok*_*709 5

您应该能够使用LINQ从列表中删除对象.

像这样,

List<ABC> L = new List<ABC>();

// Insert data into list

// Line to remove item with specific requirements
L.RemoveAll(x => x.A == "123");
Run Code Online (Sandbox Code Playgroud)

  • 我认为不使用LINQ的情况必须是非常具体的性能,否则你从可读代码中获得的好处是相当大的. (4认同)