相关疑难解决方法(0)

在函数式编程风格中最好的任务是什么?

我刚刚发现了函数编程风格,我相信它会减少开发工作,使代码更容易阅读,使软件更易于维护.然而,问题是我在说服任何人.

好吧,最近我有机会就如何减少软件开发和维护工作发表演讲,我想向他们介绍函数式编程的概念以及它如何使团队受益.我有这样的想法,即向人们展示两组完全相同的代码,一个以非常强制的方式编码,另一个以非常实用的方式编写,以表明函数式编程可以使代码更简单,更容易理解和因此可维护.是否有这样的例子,除了Luca Bolognese的着名的平方和例子?

c# f# functional-programming c#-3.0

28
推荐指数
3
解决办法
8341
查看次数

F#从C#中区分联盟使用

使用C#中的F#Discriminated Unions的最佳方法是什么?

我一直在深入研究这个问题,我可能找到了最简单的方法,但由于它相当复杂,可能还有其他一些我看不到的东西......

有一个有区别的联盟,例如:

type Shape =
    | Rectangle of float * float
    | Circle of float
Run Code Online (Sandbox Code Playgroud)

我发现C#的用法是(避免使用变量,使类型明显):

Shape circle = Shape.NewCircle(5.0);
if (circle.IsCircle)
{
    Shape.Circle c = (Shape.Circle)circle;
    double radius = c.Item;
}
Run Code Online (Sandbox Code Playgroud)

在C#中,NewXXXX静态方法总是创建Shape类的对象,还有一种方法IsXXXX来检查对象是否属于该类型; 当且仅当它是,它可以转换为Shape.XXXX类,并且只有它的项目可访问; Shape.XXXX类的构造函数是内部的,即无法访问.

有人知道从一个受歧视的联盟获取数据的更简单的选择吗?

c# f# c#-to-f#

16
推荐指数
2
解决办法
4484
查看次数

标签 统计

c# ×2

f# ×2

c#-3.0 ×1

c#-to-f# ×1

functional-programming ×1