我不知道这是否可能,以及我是否想把lambda推得太远。我不喜欢双重正则表达式( Class.Column不是我的)。我有一个简单的select函数:
(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()
发布于 2017-02-03 18:23:08
您可以使用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();https://stackoverflow.com/questions/42021833
复制相似问题