首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在c#中定义类中的所有函数时,我是否在进行函数式编程?

在c#中定义类中的所有函数时,我是否在进行函数式编程?
EN

Stack Overflow用户
提问于 2012-07-23 10:25:56
回答 4查看 220关注 0票数 3

我问这个问题是因为我不想在不久的将来在面试中羞辱自己。

在编程时,我喜欢在一个地方创建多个函数,尽量避免创建类和处理实体状态。我是否可以说我喜欢函数式编程,这是我在编程中的风格或偏好,还是我必须使用像F#或Haskell这样的函数式编程语言才能这样说呢?

根据paradigms的说法,我实际上是在用面向对象的语言进行命令式编程。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-07-23 10:29:32

Afaik您可以使用oop语言进行函数式编程。如果我理解正确的话,function仅仅意味着您传递函数所需的所有内容,然后再次取出结果,不为下一次调用保存任何内容。换句话说,您的类和方法是无状态的。

票数 1
EN

Stack Overflow用户

发布于 2012-07-23 10:30:19

不是的。

函数式程序设计的特点是

  • 避免状态更改的对象(或其他任何事物)
  • 避免可变数据和可变数据结构(更简单地说,变量不会更改它们的值)
  • 所有(或几乎所有)函数都是http://en.wikipedia.org/wiki/Pure_function

许多函数式语言也依赖于模式匹配和强类型,尽管在缺乏这些特性的语言中可以使用函数式编程。

要了解有关函数式编程的更多信息,请考虑阅读该领域的介绍(例如Learn You a Haskell for Great Good)。

票数 5
EN

Stack Overflow用户

发布于 2012-07-23 10:34:41

不是的。将所有方法放在一个类中会使您成为过程编程的爱好者,换句话说,您是反OOP的。

如果大多数/所有变量/参数/函数都是C#或readonly,那么您可以声称在使用这些限定符进行函数式编程。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11610706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档