C#模式匹配比多态性更好吗?

C#模式匹配比多态性更好吗?,c#,polymorphism,pattern-matching,C#,Polymorphism,Pattern Matching,C#7引入了模式匹配,例如,它允许打开类型并根据底层类型进行操作 现在,基于C#是面向对象的这一事实,例如,我们打开的类型可以实现相同的基类或接口,并重写此基类行为,以实现模式匹配可以为我们做的事情 为什么我要使用模式匹配而不是这个 模式匹配与多态性一样,在函数式编程中起着核心作用 在面向对象编程中起着核心作用 除此之外,只要我事先知道所有可能的类型,我个人就会使用模式匹配。例如,一个可以是SomeValue或NoValue的Maybe类。对于动态场景,首先不能使用模式匹配 回答最初的问题:不,

C#7引入了模式匹配,例如,它允许打开类型并根据底层类型进行操作

现在,基于C#是面向对象的这一事实,例如,我们打开的类型可以实现相同的基类或接口,并重写此基类行为,以实现模式匹配可以为我们做的事情


为什么我要使用模式匹配而不是这个

模式匹配与多态性一样,在函数式编程中起着核心作用 在面向对象编程中起着核心作用

除此之外,只要我事先知道所有可能的类型,我个人就会使用模式匹配。例如,一个可以是SomeValue或NoValue的Maybe类。对于动态场景,首先不能使用模式匹配

回答最初的问题:不,模式匹配并不比多态性好,它是不同的


这是关于这个话题的另一个很好的答案:

它们是完全不同的概念。如果需要基类,请使用它;如果需要组合,请使用它;如果需要打开类型,请这样做。如果你问这个问题,你可能需要阅读更多的文档,应该有一些交叉,应该用于他们所做的,我知道,但我们可以使用他们来实现相同的结果,我的问题是关于这一点,不是关于他们是否相同。