Экстерьер - это то, что определено внешне для текущего модуля. Вы можете использовать extern в случае, если ваша декларация поступит позже, или даже если ваша декларация находится в каком-то другом файле, еще не встреченном.
[ЭКОНОМИЯ ВАМ -> строки ниже от Википедии]
Когда вы определяете переменную, вы говорите компилятору выделить память для этой переменной и, возможно, также инициализировать ее содержимое некоторым значением.
Когда вы объявляете переменную, вы сообщаете компилятору, что переменная была определена в другом месте.
Вы просто сообщаете компилятору, что переменная с таким именем и типом существует, но компилятору не следует выделять для нее память, поскольку это делается где-то еще.
Ключевое слово extern означает "объявлять без определения". Другими словами, это способ явного объявления переменной или принудительное объявление без определения.
Подробнее: http://wiki.answers.com/Q/What_is_the_use_of_extern_in_C#ixzz1OzrWVmAC