如何将我的选择替换为新的 Linq 语法并添加正则表达式



我使用以下代码:

var valuesWithNames = from value in values1
   select new { 
      Value = (int)value.ToString("00"), 
      Text = value.ToString() 
  };

我如何更改它以使用新的 Linq 语法以及更改它,以便我返回的文本具有以下内容正则表达式适用于它?

".Select(n => Regex.Replace(n, "([A-Z])", " $1").Trim());"

代码应该是这样的:

var valuesWithNames = from value in values1
select new { 
    Value = (int)value.ToString("00"), 
    Text =  Regex.Replace(value.ToString(), "([A-Z])", " $1").Trim() 
};
var valuesWithNames = from value in values1
    select new { 
        Value = (int)value.ToString("00"), 
        Text = value.ToString() 
    };

相当于:

var valuesWithNames = values1.Select
(
    value => new
    {
        Value = (int)value.ToString("00"),
        Text = value.ToString() 
    }
);

您可以使用任何返回string的表达式初始化文本,因此对于您的正则表达式,您应该能够使用:

var valuesWithNames = values1.Select
(
    value => new
    {
        Value = int.Parse(value.ToString("00")),
        Text = Regex.Replace(value.ToString(), "([A-Z])", " $1").Trim()
    }
);

最新更新