Почему оператор «как» не может использоваться для анализа ненулевых типов значений?

У каждого разработчика свои стандарты. Некоторые разработчики любят<type>.TryParse()некоторые разработчики любят использовать(type)object;и некоторые разработчики любят использовать ключевые слова вместо этого.

Я заметил сбой с'as' оператор - вы не можете использовать его для выполнения преобразований между необнуляемыми типами значений. Я прочитал документацию по MSDN для ключевого слова as, и они также объясняют его как «Вы можете использовать оператор as для выполнения определенных типов преобразований между совместимыми ссылочными типами или обнуляемыми типами».

Я проверил это со следующим:

                    int i = 0;
                    var k = i as int; //Breaks

                    int i = 0;
                    var k = i as int?; //Works

Какие причины были решены дляas Ключевое слово для выполнения таким образом?

Ответы на вопрос(1)

Ваш ответ на вопрос