| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Базы данных под .NET > Как присвоить массиву целых столбец БД с числами? |
| Автор: sedoy 18.3.2008, 16:11 |
| Можно ли, если можно то как писвоить массиву целых чисел - столбец с таблицы базы данных, не производя почленного присваивания в цикле? По сути ведь столбец и есть массивом целых. Я пытаюсь сделать это так: int[] id = mydataset.Tables["Product"].Column[idProduct]; но выдает естественно ошибку: Cannot implicitly convert type 'System.Data.DataColumn' to 'int[]' Подскажите как это сделать правильно |
| Автор: Voyager 18.3.2008, 16:17 |
| Нет, так не получится, нужен цикл (или как вариант использовать Linq в Framework 3.5). |
| Автор: sedoy 18.3.2008, 16:46 |
| У меня .NET version:2.0 - в моем случае без цикла никак нельзя ? В моей таблице с десяток строк, но если их будет очень много - это каждый раз прийдется обращаться к данным в столбце чтоб скопировать, из-за этого все начнет тормозить. |
| Автор: Voyager 18.3.2008, 18:12 | ||
Можно в принципе без явного цикла, как вариант:
|
| Автор: marcusmae 23.3.2008, 19:11 |
| sedoy, от цикла не уйти никак. С другой стороны, не всегда так уж необходим сразу весь массив int[], его можно создавать "на лету" по мере того, какие требуются элементы. На этот счёт в .NET существует пара концептуальных вещей - перечислители (IEnumerator) и yield return. |
| Автор: akizelokro 14.4.2008, 10:50 | ||
с запозданием предложу индексатор
Получается, конечно, не строгий массив целых, но в рамках поставленной задачи отработать должно. |