C#7引入了模式匹配,例如,它允许打开类型并根据基础类型进行操作。
现在,基于C#是面向对象的事实,例如,我们打开的类型可以实现相同的基类或接口,并覆盖此基行为以实现模式匹配可以为我们完成的工作。
为什么我要使用模式匹配呢?
答案 0 :(得分:1)
模式匹配在函数编程中起着核心作用,就像多态性一样 在面向对象的编程中起着核心作用。
除此之外,只要我事先知道所有可能的类型,我都会亲自使用模式匹配。例如,可能是SomeValue或NoValue的Maybe类。对于动态方案,您不能首先使用模式匹配。
要回答最初的问题:不,模式匹配并不比多态性好,而是有些不同。
这是该主题的另一个好答案:https://softwareengineering.stackexchange.com/a/231095