3

このように使用できますstring.Formatか?

1)数値を文字列に置き換えます

string sample = "Hello, {name}";

//I want to put a name string into {name}, is it possible?

* *2 ) 文字列テンプレートに文字列を 1 つずつ追加することは可能ですか?

string sample = "My name is {0}, I am living in {1} ...";

// put {0} value
// and put {1} value separately

ex)
sample[0] = "MIKE";
sample[1] = "Los Anageles";
4

4 に答える 4

3
  1. いいえ

  2. はい; 配列を作成し、その配列をに渡しますString.Formatこれは、使用する特定のオーバーロードです):

    object[] values = new object[2];
    values[0] = ...;
    values[1] = ...;
    String.Format(someString, values);
    
于 2012-04-19T16:41:32.897 に答える
2

#2を達成する方法は次のとおりです。

    [Test]
    public void Passing_StringArray_Into_StringFormat()
    {
        var replacements = new string[]
            {
                "MIKE",
                "Los Angeles"
            };
        string sample = string.Format("My name is {0}, I am living in {1} ...", replacements);

        Assert.AreEqual("My name is MIKE, I am living in Los Angeles ...", sample);
    }
于 2012-04-19T16:43:44.417 に答える
2

James Newton-King の FormatWith を使用できます: http://james.newtonking.com/archive/2008/03/29/formatwith-2-0-string-formatting-with-named-variables.aspx

Phil Haack はそれについて良い投稿をしています: http://haacked.com/archive/2009/01/04/fun-with-named-formats-string-parsing-and-edge-cases.aspx

于 2012-04-19T16:46:14.617 に答える
1

1:

string sample1 = "Hello, {name}";
Console.WriteLine(sample1.Replace("{name}", "John Smith"));

2:

string sample2 = "My name is {0}, I am living in {1} ..."; 
var parms = new ArrayList();
parms.Add("John");
parms.Add("LA");
Console.WriteLine(string.Format(sample2, parms.ToArray()));
于 2012-04-19T16:46:05.897 に答える