我有以下列表,其中包含一系列文件夾路徑。其中一些是多余的,所以我需要?jiǎng)h除它們,最終列表應(yīng)該只包含底層文件夾:初始列表:var paths = new List<string>{ "Pavements/", "Pavements/2019_05/", "Pavements/2019_06/", "Pavements/2019_06/A/", "Roads/", "Roads/2019_06/"};最終列表應(yīng)如下所示:paths ={ "Pavements/2019_05/", "Pavements/2019_06/A/", "Roads/2019_06/"};即所有上層文件夾路徑已被刪除。有誰(shuí)知道我怎么能做到這一點(diǎn)?我有一種感覺,我需要一種遞歸方法,但不確定如何去做。我正在使用 C#,但可以用 Java 或類似的東西回答。謝謝。
1 回答

慕桂英3389331
TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個(gè)贊
一種方法是使用 linq 查詢,將每個(gè)項(xiàng)目與所有其他項(xiàng)目進(jìn)行比較,并僅在沒有其他項(xiàng)目以它開頭時(shí)才返回該項(xiàng)目:
paths = paths.Where(path => !paths.Any(p => p != path && p.StartsWith(path))).ToList();
添加回答
舉報(bào)
0/150
提交
取消