gpt4 book ai didi

c# - 从 lambda 中调用函数

转载 作者:太空宇宙 更新时间:2023-11-03 18:31:12 24 4
gpt4 key购买 nike

有没有办法从 lambda 表达式中调用函数?

我们目前有以下

 var obj = m.Select(x => x.ToDictionary(y => y.ColumnName, y => y.ColumnValue))
.ToList();


private static string BuildNewContent(EnumColumnType columnType, String columnValue, List<TableColumn> CurrentRow)
{
}

所以我们真正想要做的是将 BuildNewContent 的返回值添加为字典的值。所以像下面这样:-

var obj = m.Select(x => x.ToDictionary(y => y.ColumnName, BuildNewContent(y => y.ColumnType, y=> y.ContentValue, y)))
.ToList();

我意识到我们可以通过简单的循环轻松实现这一点,但是,我们想看看如何使用 Lambda 来做到这一点(如果可能的话)

更新 - 根据要求,M 的类型是一个嵌套列表的 TableViewModel

public class TableViewModel 
{
public List<List<TableColumn>> Grid { get; set; }
}

public class TableColumn
{
public TableColumn() { }

public TableColumn(string columnHeader, string columnValue, int columnWidth, EnumColumnType columnType, string columnName)
{
this.ColumnHeader = columnHeader;
this.ColumnValue = columnValue;
this.ColumnWidth = columnWidth;
this.ColumnType = columnType;
this.ColumnName = columnName;
}

public string ColumnHeader { get; set; }
public string ColumnName { get; set; }
public string ColumnValue { get; set; }
public int ColumnWidth { get; set; }
public EnumColumnType ColumnType { get; set; }
}

最佳答案

你几乎是对的

var obj = m.Select(x => x.ToDictionary(
y => y.ColumnName, y => BuildNewContent(y.ColumnType, y.ContentValue, y))).ToList();

但是我怀疑不是最后一个 y您要提供的参数x或其他一些值,因为 y可能不是 List<TableColumn> 类型

关于c# - 从 lambda 中调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22193421/

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