4

我有一个带有 2 个占位符的字符串,我想根据值计算在运行时替换它。做这个的最好方式是什么。我已使用下面的代码进行单个占位符替换,

   String posttData = @"data = google.visualization.arrayToDataTable([
                                ['Label', 'Value'],
                                ['Result', {0}]                           
                                ]);
    var options = {
        width: 1200, height: 500, redFrom: 90, redTo: 100, yellowFrom: 75, yellowTo: 90, minorTicks: 5
    };

....结果计算

var x = posttData.Replace("{0}", result.ToString());
ScriptManager.RegisterStartupScript(this, this.GetType(), "test", x, true);

如何对多个替换执行相同操作?如果我需要添加另一个选项,

var options = {
                   width: 1200, height: 500, redFrom: 90, redTo: 100, yellowFrom: 75, yellowTo: 90, minorTicks: 5, max: {1}
4

4 回答 4

14

怎么样String.Format

String str = String.Format(@"Some value {0} and some value {1}", 1, 2);

应该产生:

一些值 1 和一些值 2

你可以用你可能需要的任何结果替换1和。2

于 2013-04-19T06:03:37.907 回答
5

我 a;ways 创建一个扩展方法以便于使用。

 public static class StringExtensions
    {  
        public static string FormatWith(this string source, params object[] args)
        {
            return string.Format(source, args);
        }
}

并打电话

"Some value {0} and some value {1}".FormatWith(1,2);
于 2013-04-19T06:10:11.757 回答
2
var result = string.Format(postData,data1.ToString(), data2.ToString());
于 2013-04-19T06:03:07.003 回答
0

我建议使用字符串插值:

$"Some value {1} and some value {2}"

其中“1”和“2”可以是您需要的任何结果/表达式。

https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/tokens/interpolated

于 2020-02-14T08:02:43.267 回答