NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

F# 3.0 —— LINQ + 类型提供程序 = 富信息编程

  • 2011-09-27
  • 本文字数:1176 字

    阅读完需:约 4 分钟

微软最近宣布了F# 3.0 的开发者预览版——新特性包括通过查询表达式支持LINQ,以及类型提供程序系统和一组内置的提供程序,使得对各种数据源的编程变得简洁。

F# 3.0 的富信息编程特性使你可以对数据库、Web 服务、Web 数据源和数据代理直接编程。比如说,你现在可以这样做:

<p><span face="Consolas"><span color="#000000"><span>[<Generate><generate>] <br></br></generate></span></span></span><span face="Consolas"><span><span><span color="#0000ff">type</span></span><span color="#000000"> Northwind = ODataService<</span><span><span color="#a31515">"http://services.odata.org/Northwind/Northwind.svc/"</span></span></span></span><span face="Consolas"><span><span color="#000000">> <br></br></span><span><span color="#0000ff">let</span></span><span color="#000000"> db = Northwind.GetDataContext()</span></span></span></p><p><span color="#000000"><span>query { </span></span><span><span><span color="#0000ff">for</span></span><span color="#000000"> cat </span><span><span color="#0000ff">in</span></span><span color="#000000"> db.Categories </span><span><span color="#0000ff">do</span></span> <br></br></span><span face="Consolas"><span color="#000000"> select (cat.CategoryID, cat.CategoryName, cat.Description) } <br></br></span></span><span><span face="Consolas"><span color="#000000"> |> Seq.iter (</span><span><span color="#0000ff">fun</span></span></span></span><span face="Consolas"><span><span color="#000000"> (id, name, description) –><br></br></span></span></span><span face="Consolas"><span><span color="#000000"> printfn </span><span><span color="#a31515">"ID: %d\nCategory: %s\nDescription: %s\n"</span></span><span color="#000000"> id name description)</span></span></span></p>常用的几种数据源已有内置的类型提供程序了:OData 服务、数据库连接、数据库架构、通过实体数据模型指定的数据、Web 服务和资源文件。此外,类型系统是开放和可扩展的,这允许开发者以及第三方创建他们自己的提供程序。

其它新特性的简述:

  • 自动实现的属性允许属性没有后端存储
  • 参数帮助和增强智能感知
  • 为可空类型提供类库支持,包括转换运算符和算术运算符
  • 适用于国际单位系统(SI)的度量单位类型。这之前是放在 F# PowerPack 里的,现在已经归入 F#核心库了。

你可以在 MSDN 文档里查阅详情。你也可以从 CodePlex 下载 F# Sample Pack 查看这些特性。

F#是一种多范式编程语言,它针对.NET Framework,并贯彻了函数式编程命令式编程和面向对象编程的原则。

查看英文原文: F# 3.0 – LINQ + Type Providers = Information Rich Programming

2011-09-27 06:122024

评论

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

【FAQ】推送获取push token报错6003,如何排查?

HMS Core

HarmonyOS

编程两年半了,还要坚持写博客吗?

程序员何未来

程序员 写作 自媒体 代码人生 阅读

探索TikTok云手机在社交媒体营销的作用

Ogcloud

TikTok 云手机 海外云手机 tiktok云手机 tiktok运营

鞋服品牌如何计算门店盈亏平衡?

第七在线

Region Migration 技术原理 — 共享存储架构下的高效数据迁移策略

Greptime 格睿科技

数据库 架构 分布式 存储 时序数据库

IT驻场外包能提供哪些类型的服务?

Ogcloud

IT IT外包 IT外包公司 IT外包服务 IT驻场外包

二本渣渣生,两次冲锋,十面阿里(Java岗)感谢HR终于让我过了

阿里、莫言

Java 面试 java

一“云”在手,监控无忧——为何一个观测云即可满足全方位监控需求

可观测技术

可观测性

v1.8.1🔥httpsok一分钟搞定SSL证书自动续期

物有本末

运维 SSL证书 免费SSL证书

Vue3中computed、watch、watchEffect的区别

互联网工科生

ai做ppt的软件有哪些?这5款AI工具值得推荐!

彭宏豪95

PPT 办公软件 AIGC 效率软件 AI生成PPT

低代码的高性价比,企业:嘎嘎香!

EquatorCoco

低代码 企业开发 项目开发 企业转型

AI时代的API新经济:程序员如何利用API轻松实现月收数万?

幂简集成

API 接口 API 策略 API创新

低代码与AIGC实战:引领软件开发的新风潮

不在线第一只蜗牛

低代码 AIGC

iOS全局自动化代码混淆工具!支持cocoapod组件代码一并混淆

雪奈椰子

探索未来科技:量子计算的前沿与挑战

快乐非自愿限量之名

科技 量子计算 未来

“仍有 5 亿人坚持用 QQ”;马斯克:本周开源 xAI 人工智能助手丨 RTE 开发者日报 Vol.162

声网

Spring多线程事务处理

快乐非自愿限量之名

数据库 spring 多线程

全新体验:借助海外云手机畅玩TikTok

Ogcloud

云手机 海外云手机 tiktok云手机 电商云手机 跨境云手机

图像处理-Java-以图搜图

alexgaoyh

Java lucene OpenCV 以图搜图 KNN算法

Graph+LLM 更进一步|悦数图数据库推出 AI 知识图谱构建器及图语言生成助手

最新动态

甲骨文云中的区间管理:从基础到策略

Geek_2d6073

观测云赋能云计算服务商,提升监控观测服务价值与竞争力

可观测技术

1688API接口推荐:1688商品列表数据接口

tbapi

1688 1688API 1688商品列表数据接口 关键词搜索1688API

一定要看!10个产品经理必备的核心技能

Geek_09ea8e

产品经理 产品经理洞察指南

走进甲骨文云服务器:打造专属的云资源管理空间

Geek_2d6073

革命性创新:聚道云软件连接器如何为企业重塑财务管理流程?

聚道云软件连接器

案例分享

图像处理-Java-OpenCV-水印编码/解码

alexgaoyh

OpenCV java 数字版权保护 图像水印 基于离散余弦变换

体育赛事直播平台的市场集中度和差异化程度,有这些特点

软件开发-梦幻运营部

观测云产品服务引领监控观测服务新高度

可观测技术

2024Java大厂高频面试题,揭秘今年Java春招面试必问问题有哪些

阿里、莫言

Java java面试 金三银四

F# 3.0 —— LINQ + 类型提供程序 = 富信息编程_.NET_Roopesh Shenoy_InfoQ精选文章