yamlserializerライブラリを使用してYAMLノードを構築しようとしています。しかし、LINQステートメントを作成するのに苦労しています。
「Category」オブジェクトのリストがあります。これを「Cats」と呼びましょう。CategoryクラスにはIdとNameの両方があり、Yamlマッピングとして次のように表す必要があります。Cats [0] .Id:Cats [0] Name Cats [1] .Id:Cats [1].Name..。
ライブラリを使用したことがない人のために。クラスYamlMappingには、YamlNodeオブジェクトの配列を受け取るコンストラクターがあります。YamlNodeは、YamlMappingを含むすべてのタイプのノードが継承する抽象クラスです。
new YamlMapping
(
"Categories", new YamlMapping (
(from cat in blacklist.Categories.List select
(YamlNode)cat.Id AND (YamlNode)cat.Name).ToArray());
)
上記は明らかにうまくいきません、そして私は望ましい結果を達成する方法があるかどうか疑問に思いました。事前にアレイを構築することは可能ですが、同じ効果を達成するためのもっとLINQish(?)の方法があるかどうか疑問に思いました。
言い換えれば、配列ビルドは次のようなものでなければなりません。
YamlNode[] arr;
arr[0] = Cats[0].Id
arr[1] = Cats[0].Name;
arr[2] = Cats[1].Id;
arr[3] = Cats[1].Name;
......