Сообщение Re[43]: MS забило на дотнет. Питону - да, сишарпу - нет? от 01.09.2021 13:59
Изменено 01.09.2021 14:11 Serginio1
Re[43]: MS забило на дотнет. Питону - да, сишарпу - нет?
Здравствуйте, Sinclair, Вы писали:
S>Это где это каждый столбец представлен массивом? Рекордсет традиционно представлен "массивом" строк, каждая из которых — "массив" значений.
S>При этом "копировать", собственно, ничего не надо. В реализации IDataRow можно делать конвертацию на лету при помощи MemoryMarshal.
В DataTable. Там типизированный массив колонок.
https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/dataset-datatable-dataview/adding-columns-to-a-datatable
S>Это где это каждый столбец представлен массивом? Рекордсет традиционно представлен "массивом" строк, каждая из которых — "массив" значений.
S>При этом "копировать", собственно, ничего не надо. В реализации IDataRow можно делать конвертацию на лету при помощи MemoryMarshal.
В DataTable. Там типизированный массив колонок.
https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/dataset-datatable-dataview/adding-columns-to-a-datatable
Re[43]: MS забило на дотнет. Питону - да, сишарпу - нет?
Здравствуйте, Sinclair, Вы писали:
S>Это где это каждый столбец представлен массивом? Рекордсет традиционно представлен "массивом" строк, каждая из которых — "массив" значений.
S>При этом "копировать", собственно, ничего не надо. В реализации IDataRow можно делать конвертацию на лету при помощи MemoryMarshal.
В DataTable. Там типизированный массив колонок.
https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/dataset-datatable-dataview/adding-columns-to-a-datatable
S>Это где это каждый столбец представлен массивом? Рекордсет традиционно представлен "массивом" строк, каждая из которых — "массив" значений.
S>При этом "копировать", собственно, ничего не надо. В реализации IDataRow можно делать конвертацию на лету при помощи MemoryMarshal.
В DataTable. Там типизированный массив колонок.
https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/dataset-datatable-dataview/adding-columns-to-a-datatable
public class DataColumn : MarshalByValueComponent
{
private DataStorage _storage;
internal sealed class UInt32Storage : DataStorage
{
private const uint defaultValue = 0;
private uint[] values;
public override object Get(int record)
{
uint num = this.values[record];
if (!num.Equals(0U))
return (object) num;
return this.GetBits(record);
}
public override void Set(int record, object value)
{
if (this.NullValue == value)
{
this.values[record] = 0U;
this.SetNullBit(record, true);
}
else
{
this.values[record] = ((IConvertible) value).ToUInt32(this.FormatProvider);
this.SetNullBit(record, false);
}
}