gpt4 book ai didi

c# - 每个选择具有多个值的 LINQ 构建数组

转载 作者:行者123 更新时间:2023-11-30 16:21:49 24 4
gpt4 key购买 nike

我一直在尝试使用 yamlserializer 库构建一个 YAML 节点。但是我在构造 LINQ 语句时遇到困难。

我有一个“Category”对象的列表,我们称它为“Cats”,Category 类有一个 Id 和一个 Name,需要以以下方式表示为 Yaml 映射。猫[0].Id : 猫[0]名称猫[1].Id : 猫[1].名称...

对于那些没有使用过图书馆的人。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;
......

最佳答案

类似的东西:

(from cat in blacklist.Categories.List select
new YamlNode[] { (YamlNode)cat.Id, (YamlNode)cat.Name }).SelectMany(x => x).ToArray());

应该可以解决问题。

关于c# - 每个选择具有多个值的 LINQ 构建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12911410/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com