Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2012, 19:43   #11
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Мелкософт вроде как для этих целей рекомендует StringBuilder. Вот здесь вкратце: http://professorweb.ru/my/csharp/cha...level4/4_8.php.
Он лучше для создания строки из множества элементов, то есть вместо
Код:
int x = 3;
double d = 4.6;
string s = "x = ";
s += x;
s += "; d = ";
s += d;
лучше писать
Код:
double d = 4.6;
int x = 3;
var builder = new StringBuilder("x = ");
builder.Append(x);
builder.Append("; d = ");
builder.Append(d);
Но StringBuilder не даёт никаких преимуществ в сравнении с массивом символов для изменения отдельных символов строки, скорее наоборот.

Безусловно, только в этом частном случае, когда никаких более сложных операций над строкой не производится.
asmars
У вас лишнее выделение памяти
Код:
            string slovo = Console.ReadLine();
            string pslovo = new String('*', slovo.Length); // Эта операция бессмысленна
            Console.WriteLine(pslovo);

            char[] s = pslovo.ToCharArray();
            s[2] = 'A';
            pslovo = s.ToString(); // Ведь здесь мы всё равно замещаем значение pslovo
            Console.WriteLine(s);

            Console.ReadKey();

Последний раз редактировалось netrino; 28.09.2012 в 19:46.
netrino вне форума Ответить с цитированием
Старый 28.09.2012, 20:30   #12
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Но StringBuilder не даёт никаких преимуществ в сравнении с массивом символов для изменения отдельных символов строки, скорее наоборот.
Да? Ну удалите пару символов из середины строки в несколько тысяч элементов. Вот интересно будет.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 28.09.2012, 20:55   #13
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Да? Ну удалите пару символов из середины строки в несколько тысяч элементов. Вот интересно будет.
Цитата:
Сообщение от netrino
Но StringBuilder не даёт никаких преимуществ в сравнении с массивом символов для изменения отдельных символов строки, скорее наоборот.
Изменение - замена, а не удаление. Судя по посту, ТС именно это и нужно, и тогда нет никакого смысла использовать StringBuilder.
netrino вне форума Ответить с цитированием
Старый 28.09.2012, 21:04   #14
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от netrino Посмотреть сообщение
Изменение - замена, а не удаление. Судя по посту, ТС именно это и нужно, и тогда нет никакого смысла использовать StringBuilder.
Ну пусть будет так .
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 28.09.2012, 23:56   #15
asmars
Форумчанин
 
Аватар для asmars
 
Регистрация: 28.05.2011
Сообщений: 309
По умолчанию

2 netrino, здесь нет лишнего выделения памяти.
Задача стоит такая : сделать игру поле чудес. Пользователь вводит слово. Потом выводиться звездочки (это слово, только не отгаданное). Пользователю предлагается ввести букву. Потом либо открывается звездочка, либо пишет "нет такой буквы" и предлагается еще раз ввести.
Спеши медленно.
asmars вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
string-char-wchar_t-char-string чето потерял magog7 Общие вопросы C/C++ 0 08.08.2011 20:21
C++ <string.h> sir.andrey Помощь студентам 14 10.07.2011 10:23
string c+ gubi6ka Помощь студентам 2 23.02.2011 14:03
String большого размера, более 255 String[255] bitSoft Общие вопросы Delphi 9 28.03.2010 19:45
Как получить адрес String строки или преобразовать String madboy4ik Общие вопросы по Java, Java SE, Kotlin 6 15.01.2010 11:57