如何从列表中的字典 <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();
我有一个 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();