【发布时间】:2009-09-10 13:53:10
【问题描述】:
我正在尝试使用 LINQ To Objects 创建一个查询,该查询将为我提供文件,这些文件由文件名索引,其二进制数据的值映射为 byte[]。
但是我找不到一种“简洁”的方法来做到这一点。我希望得到类似Dictionary<T,K> 的输出。
这是我目前所拥有的。示例 delimFileNames="1.jpg|2.jpg"
//Extract filenames from filename string
//and read file binary from file
//select result into a filename indexed collection
var result = from f in delimFileNames.Split(Constants.DDS_FILENAME_SEPARATOR)
let filePath = Path.Combine(ddsClient.WorkingDirectory, f)
let fileData = File.ReadAllBytes(filePath)
select new KeyValuePair<string, byte[]>(f, fileData);
return result.ToDictionary(kvp => kvp.Key, kvp=> kvp.Value);
主要问题是为什么我不能使用无参数的 ToDictionary() 或直接转换。任何改进上述内容的建议或替代方案都表示赞赏。
【问题讨论】:
标签: linq collections linq-to-objects