Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
parashin
0 / 0 / 0
Регистрация: 21.06.2007
Сообщений: 654
1

Как определить пуста ли коллекция если свойство count не доступно

11.02.2008, 10:57. Просмотров 1506. Ответов 6
Метки нет (Все метки)

Ситуация такая
Есть коллекция объектов. Нужно пройтись в цикле по всей коллекции.
Все ОК если в коллекции есть объекты.
Если коллекция пуста, то при первой же итерации цикла получаем ошибку.

Цикл стандартный

Visual Basic
1
2
3
for each object in collection
.....
next
Как этого избежать. Свойство count для коллекции не доступно.
Есть ли какие-нибудь другие способы.

Заранее спасибо, кто ответит.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2008, 10:57
Ответы с готовыми решениями:

Коллекция как свойство
Есть класс Car Мне нужно сделать свойство Colors, такое, чтобы пользователь мог в это свойство...

как добавить к переменной значение если она не пуста
делаю фильтр материалов в категории таблица есть таблица с результатами данные из некоторых...

Как не выводить echo, если переменная внутри цикла пуста?
echo '<p><strong>'.$basic.'</strong></p>'; foreach ($articleArray as $art){ echo...

Подскажите по добавлению в ячейку таблицы если она пуста и если есть чтото
Задача добавлять значения в ячейку group с разделителем ", ", если делать так update users set...

Удалить строку если опеределенная ячейка в ней пуста, если нет - оставить
Добрый день! Подскажите пожалуйста, как сделать: Есть лист excel, в котором находятся данные....

6
t1k
3 / 3 / 5
Регистрация: 10.05.2007
Сообщений: 1,617
11.02.2008, 11:39 2
Расскажи как ты получаешь эту коллекцию, а то непонятно как не может быть свойства Count.
0
parashin
0 / 0 / 0
Регистрация: 21.06.2007
Сообщений: 654
11.02.2008, 12:00  [ТС] 3
Получаю коллекцию работая с Active Directory
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
'соединяемся с ActiveDirectory
    set connAD=server.CreateObject('adodb.connection')
    connAD.provider='ADsDSOObject'
    connAD.open 'ADSI'
 
    set rsAD=server.CreateObject('adodb.recordset')
    rsAD.open ''LDAP://elephant.gskaudit.spb.ru/OU=ГСК Аудит,OU=Группа КУБ,DC=gskaudit,DC=spb,DC=ru' where objectCategory='group'',connAD
    
'переменная определяющая был ли пользователь
'найден в Active Directory
Dim user_found
user_found=false
 
do while rsAD.EOF=false 'цикл по всем групам в AD
    
    set group=GetObject(rsAD(0)) 'получим объект типа group
    members=group.member 'получим коллекцию объектов входящих в данную группу
0
ex
11.02.2008, 12:30 4
Visual Basic
1
2
3
4
5
6
7
8
on error resume next
for each...
   ...
next
if err then
   ' ошибка, была, может как раз в том, что коллекция пустая
   err.clear
end if
parashin
0 / 0 / 0
Регистрация: 21.06.2007
Сообщений: 654
11.02.2008, 12:39  [ТС] 5
Да этот вариант я и хотел использовать. но хочется сделать без этого.
Ведь он закрывает и другие ошибки.
0
Aladdin
11.02.2008, 14:53 6
For each member in group.memberS (!)
Next
Если коллекция пуста, то в цикл не зайдет.
parashin
0 / 0 / 0
Регистрация: 21.06.2007
Сообщений: 654
11.02.2008, 17:07  [ТС] 7
Классно. Спасибо. До этого не додумался.
0
11.02.2008, 17:07
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2008, 17:07

Нюансы синтаксиса: statement for - как понимать запись for (count=0, mask=1; count != 16; count++, mask<<= 1)?
Много всяких языков попадалось, относительно много конечно, но такое вижу первый раз, что бы тело...

Написать метод, в который передаётся коллекция и свойство
Здравствуйте, помогите решить пожалуйста. Нужно написать метод, в который мы будем передавать...

Как прочитать данные из ячейки, и если она пуста добавить данные
Привет всем. У меня есть вот такой код: &lt;?php $arrqq = array($row-&gt;id); foreach($arrqq as...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.