Por que o operador 'as' não pode ser usado para analisar tipos de valores não anuláveis?
Todo desenvolvedor tem seus próprios padrões. Alguns desenvolvedores gostam de<type>.TryParse()
, alguns desenvolvedores gostam de transmitir usando(type)object;
, e alguns desenvolvedores adoram usar as palavras-chave.
Notei um soluço com o'as'
operador - você não pode usá-lo para realizar conversões entre tipos de valores não anuláveis. Li a documentação no MSDN na palavra-chave as e eles também a explicam como "Você pode usar o operador as para executar certos tipos de conversões entre tipos de referência compatíveis ou tipos anuláveis".
Eu testei isso com o seguinte:
int i = 0;
var k = i as int; //Breaks
int i = 0;
var k = i as int?; //Works
Quais foram as razões decididas para aas
palavra-chave para executar dessa maneira?