我正在尝试使用 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() 或直接转换。任何改进上述内容的建议或替代方案都值得赞赏。