gpt4 book ai didi

c#-9.0 - 这是什么 C# 功能?

转载 作者:行者123 更新时间:2023-12-04 03:41:59 25 4
gpt4 key购买 nike

在我的 C# 应用程序(使用 C# 9)中,我有一行代码如下:

var filterCallback = new HitTestFilterCallback(
el => el is Path s && s.DataContext is IShape shp ?
HitTestFilterBehavior.Continue : HitTestFilterBehavior.ContinueSkipSelf);

Resharper 建议我“合并顺序检查”。它重写了代码到这个

        var filterCallback = new HitTestFilterCallback(
el => el is Path {DataContext: IShape shp}
?
HitTestFilterBehavior.Continue : HitTestFilterBehavior.ContinueSkipSelf);

我对让我写作的一点感兴趣

{DataContext: IShape shp} 

代替

s.DataContext is IShape shp

此功能是否有特定的技术语言名称?我想阅读它以更好地理解它,但我什至不知道该怎么调用它。我尝试查看“模式匹配”并阅读有关“is”关键字的内容,但没有看到任何类似的内容?

最佳答案

该功能称为“递归模式”。特别是它使用“属性模式”作为“递归模式”的一部分。

您可以在此处找到提案文件:https://github.com/dotnet/csharplang/blob/master/proposals/csharp-8.0/patterns.md

您可以在这里找到关于它的更非正式的博客文章:https://devblogs.microsoft.com/dotnet/do-more-with-patterns-in-c-8-0/

关于c#-9.0 - 这是什么 C# 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65872590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com