如何为 VS 2013 重写使用字符串插值的函数?

How to rewrite function that uses string interpolation for VS 2013?

我使用的是 visual studio 2017,但在我们的服务器上我们使用的是 visual studio 2013。我一直收到一个错误,提示意外字符 $ 我做了一些研究,但 VS2013 没有不支持字符串插值。还有其他从捕获组中获取值的方法吗?

    public static String RoundParams(String flashingParams)
    {
        var regex = new Regex("(?<![a-zA-Z])(?<letter>[a-zA-Z])=(?<value>[^,]+)");

        var result = regex.Replace(flashingParams, m =>
        {
            var newValue = m.Groups["letter"].Value.Any(char.IsUpper)
                ? RoundDoubleTo(Convert.ToDouble(m.Groups["value"].Value), 2)
                : RoundDoubleTo(Convert.ToDouble(m.Groups["value"].Value), 16);

            return $"{m.Groups["letter"].Value}={newValue}";
        });
        return result;
    }

字符串插值只是 String.Format:

的一种更好的语法
return String.Format("{0}={1}", m.Groups["letter"].Value, newValue);

字符串插值可以通过调用 string.Format:

来替换
return string.Format("{0}={1}", m.Groups["letter"].Value, newValue);

或者在这个简单的例子中通过字符串连接:

return m.Groups["letter"].Value + "=" + newValue;