首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >linqλ多步数组

linqλ多步数组
EN

Stack Overflow用户
提问于 2017-02-03 18:15:16
回答 1查看 200关注 0票数 2

我不知道这是否可能,以及我是否想把lambda推得太远。我不喜欢双重正则表达式( Class.Column不是我的)。我有一个简单的select函数:

(ColumNames是一个列表)

代码语言:javascript
运行
复制
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()

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-03 18:23:08

您可以使用linq multiple Select来执行多个转换。您还必须使用ToArray功能替换强制转换

代码语言:javascript
运行
复制
        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();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42021833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档