powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Можно ли упростить код?
12 сообщений из 12, страница 1 из 1
Можно ли упростить код?
    #34113657
kika
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

У меня есть функция, которая возвращает result.
Подскажите можно ли ее упростить?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
string result = String.Empty;
string Name1Value = String.Empty;
string Name2Value = String.Empty;
string curName2 = String.Empty;
string curName1 = String.Empty;

int i =  0 ;

while( rdr.Read() ) 
{
	curName1 = Convert.ToString(rdr[ 0 ]);
	curName2 = Convert.ToString(rdr[ 1 ]);
	if (Name1Value != curName1)
	{
		if(i!= 0 )
		{
			result += ",";
		}
		result += @"\n-ITEM #" + curName1;
		if (curName2 != "")
		{
			result += " ID #" + curName2;
		}
	}
	else
	{
		if (curName2 != "")
		{
			result += " ID #" + curName2;
		}
	}
	Name1Value = curName1;
	Name2Value = curName2;
	i +=  1 ;
}
...
Рейтинг: 0 / 0
Можно ли упростить код?
    #34113731
iSestrin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
похоже на сишарпную реализацию вот этого faq
...
Рейтинг: 0 / 0
Можно ли упростить код?
    #34114055
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то вроде того...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
string result = String.Empty;
string Name1Value = String.Empty;
string Name2Value = String.Empty;
string curName2 = String.Empty;
string curName1 = String.Empty;

int i =  0 ;

while( rdr.Read() ) 
{
	curName1 = Convert.ToString(rdr[ 0 ]);
	curName2 = Convert.ToString(rdr[ 1 ]);
	if (Name1Value != curName1)
	{
		if(i!= 0 )
		{
			result += ",";
		}
		result += @"\n-ITEM #" + curName1;
	}
	if (curName2 != "")
	{
		result += " ID #" + curName2;
	}
	Name1Value = curName1;
	Name2Value = curName2;
	i +=  1 ;
}

З.Ы. Если нужно поднять производительность строковых операций, то лучше использовать StringBuilder.
...
Рейтинг: 0 / 0
Можно ли упростить код?
    #34114101
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю, на чем это написано, но наверняка можно. Например, так:

Код: plaintext
1.
2.
3.
4.
5.
while( rdr.Read()) {
  if ((curName1 = Convert.ToString(rdr[ 0 ])) != Name1Value)
    result += (result == "") ? "," : "" + @"\n-ITEM #" + curName1;
  if ((сurName2 = Convert.ToString(rdr[ 1 ])) != "")
    result += " ID #" + curName2;
}
...
Рейтинг: 0 / 0
Можно ли упростить код?
    #34114103
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон, видимо я уже сплю. Лучше так:

Код: plaintext
1.
2.
3.
4.
5.
while( rdr.Read()) {
  if ((curName1 = Convert.ToString(rdr[ 0 ])) != Name1Value) 
    result += (result != "") ? "," : "" + @"\n-ITEM #" + (Name1Value = curName1);
  if ((сurName2 = Convert.ToString(rdr[ 1 ])) != "")
    result += " ID #" + curName2;
}
...
Рейтинг: 0 / 0
Можно ли упростить код?
    #34114516
fdsdsfdfsdsfdfs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
используй String буфер.
...
Рейтинг: 0 / 0
Можно ли упростить код?
    #34116159
kika
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можете расшифровать что значит такая запись:

Код: plaintext
result += (result != "") ? "," : "" + @"\n-ITEM #" + (Name1Value = curName1);

Особенно : и ? символя не понятно что значат!
...
Рейтинг: 0 / 0
Можно ли упростить код?
    #34116265
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в том языке, на котором Вы это писали, нет операции ?:, то Вам не повезло. Если есть, то ищите в книжке по языку :)
...
Рейтинг: 0 / 0
Можно ли упростить код?
    #34116289
kika
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Плз, киньте ссылку где можно почитать про такую форму запись!
...
Рейтинг: 0 / 0
Можно ли упростить код?
    #34116354
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ищите по фразе "тернарный оператор"
...
Рейтинг: 0 / 0
Можно ли упростить код?
    #34116403
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, посмотрев на этот код в бодрствующем состоянии - не уверен, что этот тернарный оператор не стоит взять в скобки. Не уверен, как там с приоритетом операций.
...
Рейтинг: 0 / 0
Можно ли упростить код?
    #34116429
kika
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer, спасибо огромное!!! Все понятно и все работает как надо!!!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Можно ли упростить код?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]