大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

从 F#中借用函数化 API

  • 2007-11-21
  • 本文字数:555 字

    阅读完需:约 2 分钟

通用语言规范(Common Language Specification,CLS)确保任何具有一致性的.NET 语言能访问被其他语言创建的函数库。这意味着命令式的语言,如 VB 和 C#,能调用主要为 F#创建的函数化函数库。实际上,许多都能直接地转换为 C#代码。

Dustin Campbell 通过演示一个能被大量简化的 C#表达式是如何地简单来说明这种方式。它以如下代码开始:

int[] a = new int[20];
for (int x = 0; x < a.Length; x++)
a[x] = x + 1;

如果写成 F#即是:

let a = Array.init 20 (fun x -> x + 1)

不使用特殊的代码技巧,F#代码可以表述为(以一种更声明化的方式),“创建一个有 20 个元素的数组,并使用这个函数初始化每个元素。”F#版本一个有趣的特性是数组的类型不需要声明。因为编译成能推断传递到函数的结果(fun x -> x + 1)将会是整数,“a”必须是一个整数数组。

对我来说,这代码是那样的优美。另外,这是声明式的而非命令式;它描述什么将被完成而不是明确地规定将如何完成。 当我看到如此简练的代码,我立刻开始试图想找到 F#中的那些方面,有助提高我日常工作中的 C#代码的书写效率。

Dustin 继续展示了一个 C#函数,允许使用这样的语法。

var a = ArrayEx.Create(20, x => x + 1);

需要提醒的是这样的技术在 VB 中同样可以工作。

查看英文原文: http://www.infoq.com/news/2007/11/Functional-CSharp

2007-11-21 07:501277
用户头像

发布了 254 篇内容, 共 70.1 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

YashanDB数据库支持多语言查询的技术揭秘

数据库砖家

YashanDB数据库支持多语言环境的国际化策略分析

数据库砖家

YashanDB数据库智能分析功能的实现原理与应用价值

数据库砖家

YashanDB数据库在自动化测试中的应用与实践

数据库砖家

YashanDB数据库支持边缘计算的创新应用分析

数据库砖家

YashanDB数据库智能分片技术研究与实践总结

数据库砖家

华为新品发布会迎来首款鸿蒙智慧屏!全新应用市场为您发现精品应用

最新动态

YashanDB数据库在智能制造中的创新应用与优势分析

数据库砖家

YashanDB数据库支持的多种数据模型与查询能力

数据库砖家

YashanDB数据库支持混合云环境的部署优势与策略

数据库砖家

YashanDB数据库支持的多维度指标分析方法探索

数据库砖家

YashanDB数据库支持多云环境的部署优势分析

数据库砖家

YashanDB数据库中SQL优化的核心技巧解析

数据库砖家

YashanDB数据库智能查询优化系统

数据库砖家

腾讯专有云TCE全新升级,公私同源+软硬开放+高可用性助力企业智算提速

极客天地

YashanDB数据库支持的灵活数据模型详解

数据库砖家

YashanDB 是一个多功能的数据库管理系统

数据库砖家

YashanDB数据库支持实时流数据处理的核心优势

数据库砖家

YashanDB数据库智能运维平台的构建与应用实践

数据库砖家

AI 赋能热更新技术:从效率工具到智能生态的进阶

xuyinyin

HashData Lightning 2.0:构建下一代智能企业数据基础设施

酷克数据HashData

YashanDB 的多租户环境。

数据库砖家

YashanDB数据库支持多模数据管理的创新实践

数据库砖家

多语言环境中使用 YashanDB

数据库砖家

YashanDB数据库智能索引技术及查询性能提升

数据库砖家

YashanDB数据库支持的多模型数据管理技术详解

数据库砖家

YashanDB数据库支持的多语言查询优化技术详解

数据库砖家

ashanDB数据库支持的最新存储引擎技术的深度解析

数据库砖家

YashanDB数据库在智能制造中的关键应用场景解析

数据库砖家

YashanDB数据库支持的开发语言与框架介绍

数据库砖家

从F#中借用函数化API_.NET_Jonathan Allen_InfoQ精选文章