簡體   English   中英

如何使用LINQ將結果作為Dictionary返回 <string,string> 在C#中

[英]How to use LINQ to return the result as Dictionary<string,string> in C#

我是LINQ的新手。 我想查詢文件夾中的文件並以Dictionary的形式返回結果。這是我的代碼

var queryResult = (from d in directoryInfo.GetFiles()
                   where d.Name.EndsWith(suffix)
                   select new Dictionary<string, string>
                   {
                       {d.Name,""},
                   });

但這似乎是不正確的。

GetFiles()返回FileInfo的數組。

從您的問題尚不清楚,您希望擁有什么作為Dictionary鍵,以及想要擁有什么作為值。 如果您想同時使用名稱,則可以

var queryResult = 
    (from d in directoryInfo.GetFiles()
     where d.Name.EndsWith(suffix) 
     select d).ToDictionary(d=>d.Name, d=>d.Name);

那是一個毫無意義的字典,因為鍵和值是相同的。

如果確實要為每個文件保留FileInfo,則可以執行此操作(為您提供Dictionary<string, FileInfo> ):

var queryResult = 
    (from d in directoryInfo.GetFiles()
     where d.Name.EndsWith(suffix) 
     select d).ToDictionary(k=>k.Name, v=>v);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM