Come convertire TryCast in c #?

come convertire il seguente codice vb in c #

Dim request As HttpWebRequest = TryCast(WebRequest.Create(address), HttpWebRequest) 

l’ho provato usando l’operatore AS in c # ma non funziona.

Grazie in anticipo.

Puoi lanciare usando as ; questo non genererà alcuna eccezione, ma restituirà null se il cast non è ansible (proprio come TryCast ):

 HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest; 

L’ operatore as è in effetti l’equivalente C #:

 HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest; Debug.Assert(request != null); // request will be null if the cast fails 

Tuttavia, un cast regolare è probabilmente preferibile:

 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address); 

WebRequest.Create dovrebbe sempre risultare in HttpWebRequest quando viene chiamato con uno schema URI specifico. Se non c’è nulla di utile da fare quando il cast fallisce, non c’è bisogno di lanciare difensivamente la variabile. Se non ti interessa il protocollo utilizzato, la tua variabile di request dovrebbe essere di tipo WebRequest (ma perdi la possibilità di controllare i codici di stato HTTP).

Per completare l’immagine sui cast e digitare check in C #, potresti voler leggere anche l’ operatore is .

Basta lanciarlo:

 HttpRequest request = (HttpRequest)WebRequest.Create(address); 

Questo genererà un’eccezione se il cast non ha successo.

L’operatore as restituirà un valore null se il cast non ha esito positivo:

 HttpRequest request = WebRequest.Create(address) as HttpRequest; // if cast failed, request == null 

Quindi, questo sarebbe più vicino a un TryCast .

as sicuramente l’operatore che stai cercando. Che errore stai ottenendo?