[英]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.