当我在c#中定义一个类中的所有函数时,我在进行函数式编程吗?

Uğu*_*han 3 c# oop functional-programming

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

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


根据http://en.wikipedia.org/wiki/Comparison_of_programming_paradigms,我实际上是在面向对象语言中进行命令式编程.

Jam*_*man 5

没有.

函数式编程的标志是

  • 避免状态变化的对象(或其他任何东西)
  • 避免可变数据和可变数据结构(更简单地说;变量不会改变它们的值)
  • 所有(或几乎所有)功能都是纯粹的.

许多函数式语言也依赖于模式匹配和强类型,尽管可以用缺乏这些特性的语言编写功能样式.

要了解有关函数式编程的更多信息,请考虑阅读该领域的介绍(例如,了解大好的Haskell).

  • @philologon"变量"与(可能未知的)*常数*相对.在`f(x)= x + c`中,`c`可能是一个常数; 我可能不知道它有什么价值,但它代表着一个特定的数字.而```是一个变量; 它可以承担任何价值. (2认同)