Эквивалентный из + = для добавления префикса

Еще один метод для преобразования, если вы переходите от двойного к WPF, - это использовать класс System.Windows.FontSizeConverter:

double sizeForWpf = (double) new FontSizeConverter().ConvertFrom("10pt");
6
задан John Rasch 5 November 2009 в 15:02
поделиться

5 ответов

Просто используйте:

x = "prefix" + x;

Нет составного оператора присваивания, который бы это делал.

20
ответ дан 8 December 2019 в 02:06
поделиться
sorry = "nope, " + sorry;
17
ответ дан 8 December 2019 в 02:06
поделиться

Вы всегда можете написать метод расширения:

public static class StringExtensions{

    public static string Prefix(this string str, string prefix){
        return prefix + str;
    }

}

var newString = "Bean".Prefix("Mr. ");

Это не синтаксический сахар, но, тем не менее, прост. Хотя на самом деле это не проще того, что уже предлагалось.

7
ответ дан 8 December 2019 в 02:06
поделиться

В C # нет оператора = +, но, к счастью, здесь на помощь приходит OO:

string value = "Jamie";
value = value.Insert(0, "Hi ");

Для получения дополнительной информации о string.Insert: http://msdn.microsoft. com / en-us / library / system.string.insert.aspx

Я согласен, что a = b + a кажется наиболее разумным ответом здесь. Он читается намного лучше, чем при использовании string.Insert, это точно.

7
ответ дан 8 December 2019 в 02:06
поделиться

Это методы из FCL, которые можно использовать для объединения строк без использования какого-либо оператора конкатенации. Операторы + и + = склонны к использованию большого количества памяти при повторном вызове (т. Е. В цикле) из-за характера создаваемых строк и временных строк. ( Изменить: Как указано в комментариях, String.Format также часто не является эффективным решением)

Это скорее синтаксическая альтернатива, чем сахар.

string full = String.Format("{0}{1}{2}", "prefix", "main string", "last string");

^ Дополнительная информация о String.Format в MSDN .

Редактировать: Только для двух строк:

string result = string.Concat("prefix", "last part");

^ Дополнительная информация о String.Concat .

0
ответ дан 8 December 2019 в 02:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: