[英]What does this syntax mean “if (value is bool v)”?
我在HelixToolkit.WPF.SharpDX例子發現這個在這里 :
public sealed class InverseBoolConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is bool v)
{
return !v;
}
else
{
return true;
}
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is bool v)
{
return !v;
}
else
{
return true;
}
}
}
它無法編譯,我無法理解此語法。 Google也沒有解釋。 有人可以解釋一下嗎?
is
語句執行檢查是否可以將value
強制轉換為布爾值。 如果檢查結果為肯定,則該值將轉換為變量v
。
在此處查找更多說明: https : //docs.microsoft.com/de-de/dotnet/csharp/language-reference/keywords/is
但是,我看不到它不能編譯的原因。 為此,您至少必須添加來自編譯器的錯誤消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.