powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Возможно ли создать пустой массив из DataRow?
5 сообщений из 5, страница 1 из 1
Возможно ли создать пустой массив из DataRow?
    #39497629
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотелось бы получить пустой массив DataRow. Массив с нулевым количеством элементов. Не могу понять, как это можно сделать?
...
Рейтинг: 0 / 0
Возможно ли создать пустой массив из DataRow?
    #39497630
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока сделал дурацким способом
Код: c#
1.
2.
List<DataRow> v = new List<DataRow>();
DataRow[] rows = v.ToArray();
...
Рейтинг: 0 / 0
Возможно ли создать пустой массив из DataRow?
    #39497654
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Charles Weyland,

List<DataRow> v = new List<DataRow>(0);
вот это нулевой, а в вашем случае нет, внутри массив и он не будет 0-вым, насколько я помню
что мешает сделать вот так?
DataRow[] v = new DataRow[0];
...
Рейтинг: 0 / 0
Возможно ли создать пустой массив из DataRow?
    #39497678
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejtesCharles Weyland,

List<DataRow> v = new List<DataRow>(0);
вот это нулевой, а в вашем случае нет, внутри массив и он не будет 0-вым, насколько я помню
DataRow[] v = new DataRow[0];
Будет, будет:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
        static readonly T[]  _emptyArray = new T[0];        
            
        // Constructs a List. The list is initially empty and has a capacity
        // of zero. Upon adding the first element to the list the capacity is
        // increased to 16, and then increased in multiples of two as required.
        public List() {
            _items = _emptyArray;
        }


Да и ToArray создает выходной массив по количеству элементов в списке, а не по Capacity:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
        public T[] ToArray() {
            Contract.Ensures(Contract.Result<T[]>() != null);
            Contract.Ensures(Contract.Result<T[]>().Length == Count);
 
            T[] array = new T[_size];
            Array.Copy(_items, 0, array, 0, _size);
            return array;
        }

        public int Count {
            get {
                Contract.Ensures(Contract.Result<int>() >= 0);
                return _size; 
            }
        }


Roman Mejtesчто мешает сделать вот так?
DataRow[] v = new DataRow[0];
Это да, неполнятно, зачем нужна эта возня с листом.
...
Рейтинг: 0 / 0
Возможно ли создать пустой массив из DataRow?
    #39497695
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны,

ну размер явно не указан, а значит не гарантирован его 0 размер. А как там внутренняя реализация которая может измениться, вопрос десятый.
На счет того, что массив будет больше я не говорил, ToArray на сколько я помню копирует в новый массив только существующие элементы :)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Возможно ли создать пустой массив из DataRow?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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