как преобразовать после кода vb в к c#
Dim request As HttpWebRequest = TryCast(WebRequest.Create(address), HttpWebRequest)
я попробовал его с помощью оператора AS в c#, но не работа.
Заранее спасибо.
Вы можете использовать как
; это не вызовет никаких исключений, но вернет null
, если приведение невозможно (как и TryCast
):
HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;
Просто введите его:
HttpRequest request = (HttpRequest)WebRequest.Create(address);
Это вызовет исключение, если приведение не будет успешным.
Оператор as
вернет нуль, если приведение не было успешным:
HttpRequest request = WebRequest.Create(address) as HttpRequest;
// if cast failed, request == null
Таким образом, это было бы ближе к TryCast
.
The as
оператор фактически является эквивалентом C #:
HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;
Debug.Assert(request != null); // request will be null if the cast fails
Однако регулярное приведение, вероятно, предпочтительнее:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);
WebRequest.Create
всегда должен приводить к HttpWebRequest при вызове с определенной схемой URI . Если при сбое преобразования нет ничего полезного, тогда нет необходимости в защитном преобразовании переменной. Если вас не интересует используемый протокол, тогда ваша переменная запроса
должна иметь тип WebRequest
(но вы теряете возможность проверять коды состояния HTTP).
Чтобы завершить представление о приведении типов и проверке типов в C #, вы можете также прочитать об операторе is
.