pointer on struct and operator ??
От: Аноним  
Дата: 17.04.14 16:45
Оценка:
      unsafe struct MyStruct
        {
            public MyStruct* s1;
            private int y;
            private int u;
        }

       unsafe
            {
                var s = new MyStruct();
                var s1 = &s;

                MyStruct* u;

                u = s1->s1 == null ? s1 : s1->s1;
                u = s1->s1 ?? s1; // compile error
            }


Я привел код, который никак не могу для себя уяснить.
Почему вариант u = s1->s1 == null ? s1 : s1->s1; нормально компилируется
а другой вариант: u = s1->s1 ?? s1; выдает ошибку. Left operand of the ?? should be reference or nullable type

Разве указатель на структуру — это не reference type???

Поясните пожалуйста.
Сильно не пинать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.