when (C# başvurusu)
Aşağıdaki bağlamlarda bir filtre koşulu belirtmek için bağlamsal anahtar sözcüğünü kullanırsınız when
:
- bir veya
try-catch-finally
deyiminin catch yan tümcesindetry-catch
. - Deyiminde bir olay koruyucusu
switch
olarak. - İfadede büyük/küçük harf koruyucusu
switch
olarak.
when
catch yan tümcesinde
Anahtar when
sözcüğü, belirli bir özel durumun yürütülmesi için işleyici için true olması gereken bir koşul belirtmek üzere catch yan tümcesinde kullanılabilir. Söz dizimi şöyledir:
catch (ExceptionType [e]) when (expr)
burada ifade , Boole değeri olarak değerlendirilen bir ifadedir. döndürürse true
, özel durum işleyicisi yürütülür; ise false
yürütülmüyor.
Aşağıdaki örnek, özel durum iletisinin when
metnine bağlı olarak bir HttpRequestException için işleyicileri koşullu olarak yürütmek için anahtar sözcüğünü kullanır.
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static void Main()
{
Console.WriteLine(MakeRequest().Result);
}
public static async Task<string> MakeRequest()
{
var client = new HttpClient();
var streamTask = client.GetStringAsync("https://localHost:10000");
try
{
var responseText = await streamTask;
return responseText;
}
catch (HttpRequestException e) when (e.Message.Contains("301"))
{
return "Site Moved";
}
catch (HttpRequestException e) when (e.Message.Contains("404"))
{
return "Page Not Found";
}
catch (HttpRequestException e)
{
return e.Message;
}
}
}
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin