Почему LsaAddAccountRights мог бы возвратить STATUS_INVALID_PARAMETER?

'как' на основе '', который является ключевым словом, которое проверяет во времени выполнения, если объект polimorphycally совместим (в основном, если бросок может быть сделан), и пустой указатель возвратов, если проверка перестала работать.

Эти два эквивалентны:

Используя 'как':

string s = o as string;

Используя:

if(o is string) 
    s = o;
else
    s = null;

Наоборот, бросок c-стиля сделан также во времени выполнения, но выдает исключение, если бросок не может быть сделан.

Только для добавления важного факта:

, 'поскольку' ключевое слово только работает со ссылочными типами. Вы не можете сделать:

// I swear i is an int
int number = i as int;

В тех случаях необходимо использовать кастинг.

7
задан Nick Bolton 18 July 2009 в 19:16
поделиться