gpt4 book ai didi

c# - linq lambda多步数组

转载 作者:行者123 更新时间:2023-11-30 23:16:25 26 4
gpt4 key购买 nike

我不知道这是否可行,以及我是否想将 lambda 推得太远。我不喜欢双正则表达式(Class.Column 不是我的)。我有这个简单的选择功能:

(ColumNames 是一个列表)

string reg = "(.*):(.*)";
Class.Column[] Columns = (Class.Column[])this.ColumnNames
.Select(x =>
new Class.Column() {
Param1 = Regex.Match(x, reg).Groups[1].ToString(),
Param2 = Regex.Match(x, reg).Groups[2].ToString()
}
);

有没有办法将正则表达式输出设置为 z,然后 param1 = z1.Groups[1].ToString()

最佳答案

您可以通过 linq multiple Select 来执行多个转换。您还必须用 ToArray 功能替换类型转换

        Class.Column[] Columns = this.ColumnNames
.Select(x=> Regex.Match(x, reg))
.Select(z =>
new Class.Column()
{
Param1 = z.Groups[1].ToString(),
Param2 = z.Groups[2].ToString()
}).ToArray();

关于c# - linq lambda多步数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42021833/

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