C#中的字符串格式化;C#中的自定義字符串格式化程序#
我可以使用它嗎?是。
我可以實現自定義格式嗎?編號
我需要寫一些東西,我可以通過一組自定義格式選項string.Format
,這將對特定項目有一定的影響。
在現階段,我有這樣的事情:
string.Format("{0}", item);
,但我希望能夠做的事情與項目:
string.Format("{0:lcase}", item); // lowercases the item
string.Format("{0:ucase}", item); // uppercases the item
string.Format("{0:nospace}", item); // removes spaces
我知道我可以做的事情一樣.ToUpper()
,.ToLower()
等等,但我需要做與字符串格式。
我一直在尋找諸如IFormatProvider
和IFormattable
之類的東西,但我不知道它們是我應該使用的東西,還是如何實現它們。
任何人都可以解釋我怎麼能解決這個問題?
理由(以防萬一你想知道...)
我有一個小程序,在那裏我可以輸入一個逗號分隔值的集合,和模板。將這些項目與創建輸出的模板一起傳遞到string.Format
。我想提供模板格式選項,以便用戶可以控制他們希望輸出項目的方式。
'item'有什麼類型?請參閱[String.Format - 它如何工作以及如何實現自定義格式字符串](http://stackoverflow.com/questions/10512349/string-format-how-it-works-and-how-to-implement-custom-formatstrings )。 – CodeCaster
@CodeCaster項目是一個字符串(請參閱理由) – series0ne
[ICustomFormatter](https://msdn.microsoft.com/en-us/library/system.icustomformatter(v = vs.110).aspx) –