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

时间:2019-02-22 10:49:29

标签: c# polymorphism pattern-matching

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

现在,基于C#是面向对象的事实,例如,我们打开的类型可以实现相同的基类或接口,并覆盖此基行为以实现模式匹配可以为我们完成的工作。

为什么我要使用模式匹配呢?

1 个答案:

答案 0 :(得分:1)

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

除此之外,只要我事先知道所有可能的类型,我都会亲自使用模式匹配。例如,可能是SomeValue或NoValue的Maybe类。对于动态方案,您不能首先使用模式匹配。

要回答最初的问题:不,模式匹配并不比多态性好,而是有些不同。

这是该主题的另一个好答案:https://softwareengineering.stackexchange.com/a/231095