ar.AsyncState
- это object
, это не новый UdpClient
, а тот, который вы передали в .
Почему? Потому что, если у вас много таких вещей, вы знаете, над какой из них вы работаете, однако это может быть использовано не только для UdpClient
, вы можете передать что угодно, и с уверенностью знаете, что оно принадлежит Begin
вы начали с.
Давайте рассмотрим параметр в документации
state
Object - Пользовательский объект, который содержит информацию об операции приема , Этот объект передается делегату requestCallback после завершения операции.