2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

F# 3.0 新特性简介

  • 2012-08-04
  • 本文字数:816 字

    阅读完需:约 3 分钟

即将发布的.NET Framework 4.5 会给 F# 3.0 语言带来多项新特性,除了类型提供器(type providers) LINQ 查询之类的核心特性之外,还有新的类型属性(type attribute)、三引号字符串常量、自动属性以及对未使用变量的警告等。

如果你向 F#记录类型附加 F# 3.0 中新引入的 [] 属性,那么编译器就会针对这种类型生成默认的构造器和属性设置方法,放置到生成的中间语言代码中。

微软的 Visual Studio F#开发者 Brian McNamara 说到:“[] 属性可能会帮助你处理 WPF 数据绑定和 Entity Framework 的情况。”

F# 3.0 引入了三引号的字符串常量,意味着三个引号之间的所有代码都是逐字解释的,因此不可能进行转码。借助于这种特性,开发者就能够添加 XAML 作为字符串常量,这对于在程序中嵌入 XML 代码作为数据或者向类型提供器传递大型字符串作为参数会非常有用。

M-Brace 的首席工程架构师 Nick 说到:“我已经用 F#做了四年编码工作,现在很高兴看到 F#在 Visual Studio 中得到完全的支持,终于到了 F#成为主流的时刻了。”

和之前的版本相比,F# 3.0 对自动属性的使用做出了改善,从而开发者能够在一行代码中使用这种特性,如下所示:

复制代码
type MyClass() = member val Y = 0 with get, set,

在上面的代码中,member val_ 表示自动属性,而 Y 的值是在=_ 后面声明的。

我已经使用 F#有两年多,非常喜欢这种语言。我之前使用 C#开发,最初的转换比较头疼,但非常值得,软件开发者 Huw Simpson 如是说。

F# 3.0 引入了一种新特性,使用它你可以使用命令行的方式激活警告代码 1182,如果在你的代码中有未被使用的变量,那么 F#编译器就会提出警告。在 Visual Studio 2012 中,你可以从项目属性对话框的 Build 标签页中把 _–warnon:1182_ 添加到 _Other flags_ 字段中,从而激活这种特性。

微软的 Visual Studio F#开发者 McNamara 说:“在有 10 万行代码的大型项目中,未被使用的变量警告会帮助你找到 bug。”

查看英文原文: Introducing the New Features of F# 3.0

2012-08-04 01:152570
用户头像

发布了 340 篇内容, 共 145.5 次阅读, 收获喜欢 13 次。

关注

评论

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

不面试别看!字节跳动2022年Java架构师岗面试题(试行版)发布

Java架构追梦

Java 程序员 java面试 后端开发

服务器与普通台式机的对比及发展趋势

Finovy Cloud

gpu 云服务器 GPU服务器 GPU算力

“数聚赋能”,让实时数据中台成为惠企、惠民政策服务应用的源头活水

tapdata

数据中台 数字政务 实时数据 智慧政务

最佳实践 | 运维效率提升10倍的秘诀

星汉未来

DevOps 云原生 智能运维

观测云新增俄勒冈站点,布局全球可观测服务网络

观测云

web前端培训Vue3 setup() 启动函数的原理

@零度

前端开发 Vue3

阿里云弹性计算对视觉计算的思考与实践

阿里云弹性计算

Metaverse 视觉计算

首版架构师全栈”成长笔记“一经发布就获得一致好评,我不允许你没看过

Java架构追梦

Java 程序员 java面试 后端开发

高级Java面试经验总结:多家大厂简历优化+面试题目+面经+薪酬等

Java架构追梦

Java 程序员 面试 后端开发

DeepMind爆发史:决定AI高峰的“游戏玩家”|深度学习崛起十年

OneFlow

人工智能 深度学习 DeepMind AGI

PlatoFarm生态进展不断,通缩推动PLATO价值提升

小哈区块

2022,「大厂云」还在找新着力点

ToB行业头条

Android C++系列:vector最佳实践

轻口味

c++ android 4月月更

新思科技连续六年获评Gartner魔力象限领导者殊荣

InfoQ_434670063458

新思科技 应用安全 Gartner

浅谈商业模式---《北大-真格创业课》笔记(30/100)

hackstoic

商业模式 创业公司

基于云效AppStack实现环境管理 | 开箱即用

阿里云云效

阿里云 研发管理 研发 应用交付 环境管理

Tapdata Cloud 2.1.4 来啦:数据连接又上新,PolarDB MySQL、轻流开始接入,可自动标记不支持的字段类型

tapdata

SaaS 云数据库 Real Time DaaS polarDB DaaS

直播回顾:SIMD 指令集在 OpenJDK 中的现状与未来 | 龙蜥技术

OpenAnolis小助手

Java Openjdk simd arm 龙蜥社区

低代码之火,何以燎原?

BeeWorks

「可视化案例Vol.3」数字孪生可视化园区,开启园区智慧管理新篇章

ThingJS数字孪生引擎

物联网 可视化 数字孪生

【国产】ETL自动化调度运维管理平台 TASKCTL 8.0 分布式部署

敏捷调度TASKCTL

Docker DevOps 国产开源 大数据运维 TASKCTL

博云首批通过欧拉技术测评,联合解决方案通过验证

BoCloud博云

新闻

算法交易的最佳编程语言是什么?

非凸科技

rust 编程语言 交易系统 策略

ImageKnife组件,让小白也能轻松搞定HarmonyOS图片开发

HarmonyOS开发者

HarmonyOS ArKUI 3.0

全网最细的短网址系统设计与实战

星牛君

MySQL redis 布隆过滤器 Java EE

多商户商城系统如何对接电商收付通?

CRMEB

新品发布 | OpenHarmony面向教育行业的发行版+大赛预告来了~

拓维信息

活动 操作系统 OpenHarmony OpenAtom OpenHarmony OpenHarmony 3.1 Release

一文看懂博睿数据AIOps场景、算法和能力

博睿数据

移动开发平台|助力企业安全高效搭建高质量移动应用

BeeWorks

F# 3.0新特性简介_后端_Anand Narayanaswamy_InfoQ精选文章