我最近開始學習Ruby和我看到下面的方式來格式化字符串:加入運營商本地類
"%d" % 123 #=> "123"
"%08b %02x" % [15, 15] #=> "00001111 0f"
有沒有在C#中實現這樣的方式?我嘗試了很多,但所有嘗試都失敗了。這裏是我的嘗試之一的例子:
public static string operator % (string format, IFormatable[] items) {
for (int n = 0; n < items.Length; n++) format.Replace("%" + n, items[n].ToString());
return format;
}
"%0 %1" % new string[] { "Foo", "Bar" } // Expected result => "Foo Bar"
我知道像toString()和PadLeft()方法研究,但我想弄清楚,如果所謂的方法也擴展了運營商合作。
你怎麼把這東西加到'string'? – cHao
你爲什麼要這麼做?你已經可以做'string.Format(「{0} {1}」,new [] {「Foo」,「Bar」});'。大多數要實現的「特殊」操作符可能已經以其他更簡單的方式實現。如果您想爲類添加其他功能,請查找擴展方法。 –
我不「添加」字符串的東西。我使用擴展方法(http://msdn.microsoft.com/en-us/library/bb383977.aspx);我沒有具體的理由來嘗試這一點。我只是想測試,如果這個工程:) – Cubinator73