Какой тип набора я должен использовать для лучшей производительности?

~> if [ -z $FOO ]; then echo "EMPTY"; fi
EMPTY
~> FOO=""
~> if [ -z $FOO ]; then echo "EMPTY"; fi
EMPTY
~> FOO="a"
~> if [ -z $FOO ]; then echo "EMPTY"; fi
~> 

-z работает на неопределенные переменные также. Для различения неопределенное и определенный, Вы использовали бы вещи, перечисленные здесь или, с более четкими объяснениями, здесь .

Самый Чистый путь использует расширение как в этих примерах. Для получения всех опций проверяют раздел Parameter Expansion руководства.

Альтернативное слово:

~$ unset FOO
~$ if test ${FOO+defined}; then echo "DEFINED"; fi
~$ FOO=""
~$ if test ${FOO+defined}; then echo "DEFINED"; fi
DEFINED

Значение по умолчанию:

~$ FOO=""
~$ if test "${FOO-default value}" ; then echo "UNDEFINED"; fi
~$ unset FOO
~$ if test "${FOO-default value}" ; then echo "UNDEFINED"; fi
UNDEFINED

, Конечно, Вы использовали бы один из них по-другому, помещая значение, которое Вы хотите вместо 'значения по умолчанию' и использования расширения непосредственно, в подходящих случаях.

6
задан mezoid 4 August 2009 в 11:12
поделиться

1 ответ

По проводу (WCF) разницы нет; те же данные будут отправлены.

В большинстве сценариев у клиента очень низкая заметная производительность между List и T [] . Используйте List - это намного проще сделать правильно (добавление и т. Д.). Если вы выполняете много привязок данных, BindingList может быть полезным, но вы можете захотеть ограничить это моделью представления, а не бизнес-объектом. Это действительно требует дополнительных затрат (с событиями и т. Д.).


Редактировать: самая большая «стоимость производительности» - это время, которое вы потратите на борьбу с ней, чтобы добавить элементы в массивы (с изменением размера и стоимостью там -of); поэтому перейдите к List и улыбнитесь ;-p

11
ответ дан 9 December 2019 в 22:38
поделиться
Другие вопросы по тегам:

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