C# 如何从YAML数组切换到映射?
我正在尝试使用YAMLDOTNET序列化YAML中的自定义对象列表,结果如下:C# 如何从YAML数组切换到映射?,c#,yamldotnet,C#,Yamldotnet,我正在尝试使用YAMLDOTNET序列化YAML中的自定义对象列表,结果如下: fruits: - berry: size: 5 - banana: size: 6 - coconut: size: 10 你能告诉我怎样才能得到以下结果吗 fruits: berry: size: 5 banana: size: 6 coconut: size: 10 我的水果列表课: public class FruitList { private Lis
fruits:
- berry:
size: 5
- banana:
size: 6
- coconut:
size: 10
你能告诉我怎样才能得到以下结果吗
fruits:
berry:
size: 5
banana:
size: 6
coconut:
size: 10
我的水果列表课:
public class FruitList
{
private List<Dictionary<string,Fruit> _fruits;
public List<Dictionary<string, Fruits>> fruits { get => _fruits; set => _fruits = value; }
public FruitList(List<Dictionary<string, Fruits>> f)
{
fruits =f;
}
}
我的主要意见是:
List<Dictionary<string, Fruit>> list = new List<Dictionary<string, Fruit>>();
Dictionary<string, Fruit> dic = new Dictionary<string, Fruit>();
Fruit f = new Fruit(3);
dic.Add("berry",f);
list.add(dic);
FruitList fl = new FruitList(list);
var serializerBuilder = new SerializerBuilder();
var serializer = serializerBuilder.Build();
var serializer = new Serializer();
var yaml = serializer.Serialize(fl);
Console.Write(yaml);
List List=新列表();
Dictionary dic=新字典();
果实f=新果实(3);
添加(“浆果”,f);
列表。添加(dic);
结果列表fl=新的结果列表(列表);
var serializerBuilder=new serializerBuilder();
var serializer=serializerBuilder.Build();
var serializer=new serializer();
var yaml=serializer.Serialize(fl);
Console.Write(yaml);
非常感谢您的帮助。您应该有一本词典,而不是列表
现在您有一个列表,其中每个项都是一个包含单个元素的字典,您的YAML输出反映了这一点。到目前为止您尝试了什么?我想在YAML中包含水果名称,所以我将数组类型从列表改为列表您可以共享的任何代码?当然!我编辑了我的帖子!
List<Dictionary<string, Fruit>> list = new List<Dictionary<string, Fruit>>();
Dictionary<string, Fruit> dic = new Dictionary<string, Fruit>();
Fruit f = new Fruit(3);
dic.Add("berry",f);
list.add(dic);
FruitList fl = new FruitList(list);
var serializerBuilder = new SerializerBuilder();
var serializer = serializerBuilder.Build();
var serializer = new Serializer();
var yaml = serializer.Serialize(fl);
Console.Write(yaml);