LINQ用于删除从列表中的其他元素启动的元素

Nic*_*kon 2 c# linq

我有一个List<string>包含一些路径的列表.

C:\Dir\Test\
C:\MyDir\
C:\YourDir\
C:\Dir\
Run Code Online (Sandbox Code Playgroud)

我想浏览所有元素(使用LINQ)并删除从列表中的其他元素开始的条目.

在我的例子C:\Dir\Test\开头C:\Dir\- 所以我想删除C:\Dir\Test\.

Mar*_*zek 9

使用List<T>.RemoveAll()方法:

sourceList.RemoveAll(x => sourceList.Any(y => x != y && x.StartsWith(y)));
Run Code Online (Sandbox Code Playgroud)