title: String format proper using
body: <p>Do you know another more proper way to do the same things ?</p>
  
  <pre><code>string initialTemplate = "{0}-{1}";
  string template = string.Format(initialTemplate, "first", "{0}");
  string answer = string.Format(template, "second");
  </code></pre>
  
  <p>Also the following way has actually known, but in my current case unfortunatelyI can't use that method(i think that that way more proper and the logic more clear):</p>
  
  <pre><code>string initialTemplate = "{0}-{{0}}";
  string template = string.Format(initialTemplate, "first");
  string answer = string.Format(template, "second");
  </code></pre>
  
  <p>Maybe is there another hint how to do that?</p>
  
  <p><strong>UPDATE</strong>
  I'm so sorry but from yours answers I've learnt that my question wasn't enough clear. So I've added a little bit more description.</p>
  
  <p>My situation:</p>
  
  <pre><code>//that template is actually placed in *.resx file
  //I want storing only one template and use that in different situations
  public const string InitialTemplate = "{0}-{1}";
  
  public static string GetMessage(string one, string two)
  {
      return string.Format(InitialTemplate, one, two);
  }
  
  public static string GetTemplate(string one)
  {
      return string.Format(InitialTemplate, one, "{0}");
  }
  
  //or morew universal way
  public static string GetTemplate(params object[] args)
  {
      return string.Format(InitialTemplate, args, "{0}");
  }
  
  static void Main(string[] args)
  {
      //in almost all cases in my project i need to use string.format like this
      string message = GetMessage("one", "two");
  
      //but there is another way where i have to use 
      //the template have already been assigned first argument
      //the result must be "one-{0}"
      string getTemplateWithAssignedFirstArg = GetTemplate("one");
  }
  </code></pre>
  
  <p>Do you know more proper way for that kind of situation ?</p>