0

我正在使用以下代码:

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());"
4

2 回答 2

1

代码应该是这样的:

var valuesWithNames = from value in values1
select new { 
    Value = (int)value.ToString("00"), 
    Text =  Regex.Replace(value.ToString(), "([A-Z])", " $1").Trim() 
};
于 2012-09-16T15:02:29.963 回答
0
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() 
    }
);

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

var valuesWithNames = values1.Select
(
    value => new
    {
        Value = int.Parse(value.ToString("00")),
        Text = Regex.Replace(value.ToString(), "([A-Z])", " $1").Trim()
    }
);
于 2012-09-16T15:01:11.193 回答