gpt4 book ai didi

c# - 添加列表到列表

转载 作者:行者123 更新时间:2023-11-30 15:48:05 25 4
gpt4 key购买 nike

我有以下代码:

var columnNames = (from autoExport in dataContext.AutoExports
where autoExport.AutoExportTemplate != null
&& ContainsColumn(autoExport.AutoExportTemplate, realName)
select GetDbColumnNames(autoExport.AutoExportTemplate, realName)).ToList();

其中函数GetDbColumns()返回 List<string> .所以 columNames 的类型是 List<List<string>> .是否可以创建 List<string> , 所以 GetDbColumns 列表的每个元素都添加到 LinQ 查询的结果中?

最佳答案

您可以使用“多选”结构:

var columnNames = (
from autoExport in dataContext.AutoExports
where autoExport.AutoExportTemplate != null
&& ContainsColumn(autoExport.AutoExportTemplate, realName)
from column in GetDbColumnNames(autoExport.AutoExportTemplate, realName)
select column).ToList();

或者这是使用 SelectMany 的替代方法:

var columnNames = (
from autoExport in dataContext.AutoExports
where autoExport.AutoExportTemplate != null
&& ContainsColumn(autoExport.AutoExportTemplate, realName)
select autoExport
).SelectMany(x => x.GetDbColumnNames(autoExport.AutoExportTemplate, realName))
.ToList();

最后,这是另一种表达方式(但它包含了一些丑陋的代码 x => x):

var columnNames = (
from autoExport in dataContext.AutoExports
where autoExport.AutoExportTemplate != null
&& ContainsColumn(autoExport.AutoExportTemplate, realName)
select autoExport.GetDbColumnNames(autoExport.AutoExportTemplate, realName)
).SelectMany(x => x).ToList();

关于c# - 添加列表到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2987754/

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