InfoQ Geekathon 大模型技术应用创新大赛 了解详情
写点什么

LINQ for F#

  • 2012-03-18
  • 本文字数:686 字

    阅读完需:约 2 分钟

F# 3.0 包含在 Visual Studio 11 beta 里,支持使用 LINQ 表达式。

F#总是可以访问底层的库,这使得 LINQ 成为可能,但 F# 3 却是第一个在语法上提供实际支持的版本。就像 Visual Basic, F#的 LINQ 直接在查询里支持聚合函数,如 count、sum、first 和 last。此外,F#也和 VB 一样不需要末尾的“select”子句。所有查询都要放在以“query {”开始,并以匹配的“}”结束的表达式里。

LINQ 或语言集成查询是一种类似 SQL 的语法,最初是为 Cω这个实验语言开发的,最终却在 Visual Basic 和 C#里发布。虽然很独特,但概念上却类似于 80 年代和 90 年代的语言,如 dBase PowerBuilder

另一个在 F# 3 里发布的特性是类型提供程序。这个话题相对复杂,涉及到的东西可以看做代码生成和动态类型之外的另一种选择。若想了解更多,我们建议你看看 Joe Pamer 关于类型提供程序的视频演讲 F#自带以下类型提供程序

  • OData 服务
  • 数据库链接,如 SQL
  • 数据库架构,如 LINQ to SQL 的 dbml 文件
  • 实体数据模型格式(即 EDMX 架构文件)
  • Web Service 的 WSDL 文档
  • 以.resx 为扩展名的资源文件

类型提供程序的一个有趣特性是它们可以在设计时为 Visual Studio 的智能感知提供数据。这意味着会有一些时候代码完成的提示显示为“加载中”,而不是实际的属性和方法。这个延迟取决于每个类型提供程序以及远程服务器的响应速度。

F#还将支持可移植库。可移植库是无需单独重新编译就可以在.NET、Silverlight、Windows Phone 和XNA 上共享的DLL。

最后,F# 3 通过“member val”关键字提供自动实现属性。属性需要在声明的时候进行初始化,可变属性需要添加“with get, set”后缀。

查看英文原文: LINQ for F#

活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2012-03-18 08:482667

评论

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

分享:数据库存储与索引技术(二) 分布式数据库基石——LSM树

OceanBase 数据库

数据库 oceanbase

Groovy关键字def

FunTester

Go如何自动解压缩包?如何读取docx/doc文件内容?

王中阳Go

Go 高效工作 学习方法 文件处理 压缩

智能公厕应用人工智能技术,实现智慧化管理与服务

光明源智慧厕所

智慧城市

2023最新最全Java面试速成指南,面试骚操作都在里面了

程序员小毕

程序员 后端 高并发 架构师 java面试

Gogs/Gitea 环境搭建

流火

git gogs Gitea

国网信通产业集团*IoTDB | 三平台管理百亿级累计数据,构建端边云全周期电力数据高效解决方案

Apache IoTDB

IoTDB 国产时序数据库

B站容量管理:游戏赛事等大型活动资源如何快速提升10+倍?

TakinTalks稳定性社区

干货|10个C4D必备插件,让工作事半功倍

Finovy Cloud

C4D 3ds Max

Python之configparser模块详解和使用

虫无涯

Python 测试 自动化测试 pytest 测试报告

分享:数据库存储与索引技术(三)LSM树实现案例

OceanBase 数据库

数据库 oceanbase

天津市人工智能计算中心揭牌 天下津梁融汇AI之力

脑极体

算力

用AI回忆起曾被忘却的语言

脑极体

AI

Tapdata 赋能敏捷转型:头部知识付费应用如何搭载实时数据快速提升人效,创造业务增长点

tapdata

数据库

Koordinator 助力 ACK 容器调度升级,提升应用性能,节约资源成本

阿里巴巴云原生

阿里云 容器 云原生 Koordinator

OpenHarmony关系型数据库查询结果呈现

白晓明

关系型数据库 数据库查询 OpenHarmony

跟GPT学k8s-Kubernetes-native load balancer options

jupiter

借助 mperf 进行矩阵乘法极致优化

MegEngineBot

开源 性能优化 MegEngine

运维训练营第20周作业

好吃不贵

尚硅谷数据湖Iceberg视频教程发布

小谷哥

OpenKruise 成为 CNCF 孵化项目:为大规模采用 Kubernetes 打开大门

阿里巴巴云原生

阿里云 开源 云原生 OpenKruise cncf

最新版本 Stable Diffusion 开源AI绘画工具之部署篇

极客飞兔

AI AI绘画 Stable Diffusion

快来看HarmonyOS 3新动作!华为畅享10S等24款设备启动花粉Beta招募

最新动态

Activity初学乍练

向阳逐梦

android 活动 Activity

Mac苹果电脑怎么调整磁盘分区大小

互联网搬砖工作者

从底层操作系统到容器云平台:OpenCloudOS与秒云构筑完美兼容链

OpenCloudOS

Linux 云平台

flutter系列之:在flutter中使用媒体播放器

程序那些事

flutter 架构 大前端 程序那些事

MobTech|什么是SDK

MobTech袤博科技

如何在容器服务 ACK 玩转 MSE Ingress

阿里巴巴云原生

阿里云 容器 微服务 云原生

vika维格表 x 阿里云计算巢:SaaS 云端私有化部署,助力企业数字化转型

云布道师

计算巢

低代码起势,开发者可以早日脱离996了?

引迈信息

程序员 前端 低代码 996

  • 扫码添加小助手
    领取最新资料包
LINQ for F#_语言 & 开发_Jonathan Allen_InfoQ精选文章