Оператор 'использования' не влияет на производительность, поскольку это - просто помощник в квалификации названий Ваших идентификаторов. Таким образом вместо того, чтобы иметь необходимость ввести, Система. IO.Path. Объединение (...) , можно просто ввести, Путь. Объединение (...) , если Вы имеете Система использования. IO.
Есть только заполнение и выравнивание ... Итак, простой способ, как вы сказали, использовать «John» .ToUpper ()
или «John». ToLower ()
.
Другим решением может быть создание пользовательского IFormatProvider
, чтобы обеспечить нужный строковый формат.
Вот как будут выглядеть IFormatProvider
и вызов string.Format.
public class CustomStringFormat : IFormatProvider, ICustomFormatter
{
public object GetFormat(Type formatType)
{
if (formatType == typeof(ICustomFormatter))
return this;
else
return null;
}
public string Format(string format, object arg, IFormatProvider formatProvider)
{
string result = arg.ToString();
switch (format.ToUpper())
{
case "U": return result.ToUpper();
case "L": return result.ToLower();
//more custom formats
default: return result;
}
}
}
И вызов будет выглядеть так:
String.Format(new CustomStringFormat(), "Hi {0:U}", "John");
Короче говоря, нет; AFAIK вам придется исправить исходные значения или использовать свою собственную замену string.Format
. Обратите внимание, что если вы передаете пользовательский язык и региональные параметры (в string.Format
), вы можете использовать culture.TextInfo.ToLower (s)
,