Как инициализировать массив структур в структуре в c#? < /p>
public const int MAX_AXIS = 10;
struct realprm
{ /* real parameter */
long prm_val; /* value of variable */
long dec_val; /* number of places of decimals */
};
[StructLayout(LayoutKind.Explicit)]
unsafe struct iodbpsd
{
[FieldOffset(0)] short datano; /* parameter number */
[FieldOffset(2)] short type; /* upper byte:type */
/* lower byte:axis */{
[FieldOffset(4)] char cdata; /* bit/byte parameter */
[FieldOffset(4)] short idata; /* word parameter */
[FieldOffset(4)] long ldata; /* 2-word parameter */
[FieldOffset(4)] realprm rdata; /* real parameter */
[FieldOffset(4)] fixed char cdatas[MAX_AXIS];/*bit/byte parameter with axis*/
[FieldOffset(4)] fixed short idatas[MAX_AXIS];/* word parameter with axis */
[FieldOffset(4)] fixed long ldatas[MAX_AXIS];/* 2-word parameter with axis */
[FieldOffset(4)] realprm rdatas[MAX_AXIS];/* real parameter with axis */
};
< /code>
Последняя запись, realprm, выбрасывает ошибки компилятора: < /p>
CS0270 Размер массива не может быть указан в объявлении переменной (попробуйте инициализацию с помощью «Нового» выражения) < /p>
CS0650 Declarator Declarator. To declare a fixed size buffer field, use the fixed keyword before the field type.
The 'fixed' keyword won't work for structs, and C# does not allow 'new' keyword initialization:
CS0573 Field declaration: cannot have instance field initializers in structs
Is there any elegant way to initialize an array like this in C#?
Подробнее здесь: https://stackoverflow.com/questions/796 ... truct-in-c
Как создать массив структур в структуре в C#? ⇐ C#
Место общения программистов C#
-
Anonymous
1750352585
Anonymous
Как инициализировать массив структур в структуре в c#? < /p>
public const int MAX_AXIS = 10;
struct realprm
{ /* real parameter */
long prm_val; /* value of variable */
long dec_val; /* number of places of decimals */
};
[StructLayout(LayoutKind.Explicit)]
unsafe struct iodbpsd
{
[FieldOffset(0)] short datano; /* parameter number */
[FieldOffset(2)] short type; /* upper byte:type */
/* lower byte:axis */{
[FieldOffset(4)] char cdata; /* bit/byte parameter */
[FieldOffset(4)] short idata; /* word parameter */
[FieldOffset(4)] long ldata; /* 2-word parameter */
[FieldOffset(4)] realprm rdata; /* real parameter */
[FieldOffset(4)] fixed char cdatas[MAX_AXIS];/*bit/byte parameter with axis*/
[FieldOffset(4)] fixed short idatas[MAX_AXIS];/* word parameter with axis */
[FieldOffset(4)] fixed long ldatas[MAX_AXIS];/* 2-word parameter with axis */
[FieldOffset(4)] realprm rdatas[MAX_AXIS];/* real parameter with axis */
};
< /code>
Последняя запись, realprm, выбрасывает ошибки компилятора: < /p>
CS0270 Размер массива не может быть указан в объявлении переменной (попробуйте инициализацию с помощью «Нового» выражения) < /p>
CS0650 Declarator Declarator. To declare a fixed size buffer field, use the fixed keyword before the field type.
The 'fixed' keyword won't work for structs, and C# does not allow 'new' keyword initialization:
CS0573 Field declaration: cannot have instance field initializers in structs
Is there any elegant way to initialize an array like this in C#?
Подробнее здесь: [url]https://stackoverflow.com/questions/79671018/how-do-i-create-an-array-of-structs-within-a-struct-in-c[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия