如何从列表中的字典 <string,object> 中收集所有键的值

How to collect values for all the keys from a Dictionary<string,object> in a List

我有一个 Dictionary<string, Data> collection.

我的数据 class 有多个成员。

public class Data
{
public string docid{get;set;}
public string filename{get; set;}
public string doctype{get;set;}
}

因此,字典中的每个键都有一个值列表。 我想在 csv 文件中写入所有键的值。

我的 csv 文件将包含

我一直在使用 LINQ2CSV 库写入 csv,但由于它接受列表和文件路径作为参数,我无法将所有键的值收集到列表中。 请提出一个更好的方法来实现这一目标。

LINQ2CSV 的 Write 方法接受 IEnumerable<T>。您在字典中的 Values 可以作为数组使用。你可以这样做:

cc.Write(yourDictionary.Values, "filePath.csv");

不需要从字典 Values 中获取 List<Data>,但如果您仍想创建 List<Data>,您可以执行以下操作:

List<Data> myList = yourDictionary.Values.ToList();

List<Data> myList = new List<Data>(yourDicitionary.Values);

您可以将字典的值复制到列表中:

var list = dictionary.Values.ToList();