如何在字符串格式化操作中格式化参数

4

这不是一个严重的问题,我只是好奇。

我正在格式化一个字符串,输出字符串中的数据多次重用参数数据,但更改大小写(例如)。

string data = "TEST";
string s = string.Format("{0} - {1}", data, data.ToLower());
// REQUIRED OUTPUT 
// TEST - test

但我能以某种方式实现这个吗...
// ****PSEUDO-code****
//string s = string.Format("{0} - {0}.ToLower()", data);

1
我相信如果你实现自己的 IFormatProviderICustomFormatter,某些事情是可能实现的,但是...这样做并不值得。 - Alvin Wong
2个回答

3

有许多修饰符可用于格式化替换格式化标记的数据(这篇文章是了解这些内容的好地方)。

不幸的是,没有任何修饰符可以在字符串上执行 ToLower 操作 - 您必须在将其传递给 String.Format 之前自己执行该操作。


谢谢大家,这正是我所想的,但以前我被证明错误了很多次,所以我想确认一下。 - Ian G

2

您想做的事情是不可能的。

当您将一个string参数传递给string.Format时,它会保持不变(除了对齐/宽度)。没有办法指定复合格式化来操作传入的string以更改其大小写。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接