F#: 利用.NET Framework

F#作为.NET Framework上运行的语言,自然就可以使用.NET Framework。

这回我们就试着通过调用.NET Framework来写些代码。

首先忽略返回值的代码写法如下:

ignore (System.Windows.Forms.MessageBox.Show("Hello world"))

这样就可以显示MessageBox了。此外,如果想省略掉命名空间,可以改写成:

open System.Windows.Forms
ignore (MessageBox.Show("Hello world"))

其中,C#中使用的using变成了open。

使用线程的代码如下:

open System.Threading
Thread.Sleep(4000)

接下来试试使用DateTime和Console.WriteLine:

open System
let dt = new DateTime(1984,1,24)
Console.WriteLine("{0} {1} {2}",dt.Year, dt.Month, dt.Day)
let today = DateTime.Today 
Console.WriteLine("{0} {1} {2}",today.Year, today.Month, today.Day)
let diff = today - dt;
Console.WriteLine("{0}", diff.TotalDays)

此外,F#函数的变量不需要():

Thread.Sleep 4000

通过 Pipeline也是可以的:

4000 |> Thread.Sleep

如果有多个参数的时候会如何呢?试下如下代码:

Console.WriteLine "{0}" dt.Year
Console.WriteLine "{0}", dt.Year

都不行。感觉只有一个参数的时候才可以。代码如下:

Console.WriteLine(dt.ToString())

不过如下代码就会出现编译错误:

Console.WriteLine(123.ToString())

感觉是数值常量无法使用method。

再试着写些其他代码吧。

open System 
open System.Collections.Generic
let n = 123 
Console.WriteLine("{0}",n.ToString())
Console.WriteLine("{0}",Int32.MaxValue)
let rnd = new Random()
let list = new List<int>()
for x in 1..10 do
         list.Add(rnd.Next(1,10))
for x in list do
         printfn "%A" x

如果有用过C#的话,就可以很自然地使用.NET Framework了。F#不愧为.NET语言啊!

时间: 2024-09-03 15:41:45

F#: 利用.NET Framework的相关文章

如何利用.NET Framework使用RSS feed

rss 如果想利用.NET Framework来使用RSS feed的话,这其实并不复杂.你只需要做下面几步就可以了: ◆链接到提供RSS feed的网站 ◆下载feed XML ◆将feed的XML装载到允许搜索的对象中 ◆为你想提取的结点搜索feed的XML .NET Framework提供了内置函数来完成所有的任务.我们所需要做的就是,将这些功能绑定在一起,这样我们就可以使用RSS feeds. 链接到服务器 我们可以使用WebRequest对象链接到服务器上.WebRequest对象使你

CLR全面透彻解析-F#基础

F# 是一种面向对象的新型函数编程语言,用于 Microsoft .NET Framework,已集成到本年度发行的 Microsoft Visual Studio 2010 中.F# 集简单.简洁的语法与高度的静态类型化于一身.这种语言能够胜任的任务从 F# Interactive 中的轻量探索性编程直到使用 Visual Studio 进行的基于 .NET Framework 的大型组件开发. F# 设计为完全在 CLR 上运行.作为一种基于 .NET Framework 的语言,F# 充分

对.NET Framework 反射的反思

清晰的组件化目标是否因在库间共享过多类型信息而落空?或许您需要高效的强类型化数据存储,但如果每次对象模型发展后都需要更新您的数据库架构,那会耗费很大成本,所以您更愿意在运行时推断出其类型架构吗?您需要交付能接受任意用户对象的组件,并以某种智能化的方式处理它们吗?您希望库的调方者能以编程方式向您说明它们的类型吗? 如果您发现自己在苦苦维持强类型化数据结构的同时,又冀望于最大化运行时灵活性,那么您大概会愿意考虑反射,以及它如何改善您的软件.在本专栏中,我将探讨 Microsoft .NET Fram

利用.NET schema对象模型提高灵活性

对象 XML schema是W3C的推荐选择,它提供了定义XML文件的结构,内容和语义的工具.与另外两个schema建模工具文件类型定义(DTD)和XDR (XML Data Reduced)相比,XML schema具有两个关键优势.第一,由于它是针对定义XML数据结构的W3C官方推荐,所以公司组织都将采用同样的定义.第二,它是最新的schema技术,因此它的建构就是要修正另外二者中存在的漏洞和缺陷,特别是在DTD之中的. XDR并不是一个schema技术的备选方案,因为它只是微软公司的XML

与Visual Basic .NET一起使用.NET Framework(转)

visual 使用.NET Framework,Microsoft Visual Basic开发人员可以创建健壮的.在先前的Visual Basic版本中很难编写的应用程序.本文将讨论使用.NET Framework的好处,并且将包括一些功能强大的.Visual Basic开发人员可以与该框架一起使用的特性,包括多线程和线程池(thread pooling).Windows服务和文件系统监控等. 为什么使用框架 单词框架(framework)有几种含意.在这种情况中,它指的是创建和运行应用程序的

Microsoft .NET Framework 1.1 和 2.0(测试版)兼容性

简介 Microsoft .NET Framework 2.0 是在 Microsoft .NET Framework 1.0 和 1.1 成功的基础上构建的,用于为 Web 和 Microsoft Windows 客户端应用程序提供最佳的运行库环境.对于 .NET Framework 1.1 应用程序,Microsoft 的兼容性目标是:这些应用程序能够在 .NET Framework 2.0 上顺利运行(除一组记录在案的更改之外).在 Beta 2 发布期间,我们还没有达到这个目标,并且正在

asp.net 2.0揭秘读书笔记一:ASP.NET和.NET Framework

<ASP.NET 2.0 揭秘>两卷书已经入手好些日子,却一直没有时间来细读,只偶尔需要的时候翻阅参 考,最近决定抽空通读,我把我认为有需要的地方作了笔记,录入博客,以备复习. ASP.NET是.NET Framework的一部分. 构建ASP.NET的页面,需要利用.NET FRAMEWORK的特性. NET Framework由两部分组成:框架类库(Framework Class Library)和公共语言运行时 框架类库 .NET Framework 2.0 包含了18 619种类型,1

Entity Framework 5.0系列之数据操作

Entity Framework将概念模型中定义的实体和关系映射到数据源,利用实体框架可以将数据源返回的数据具体化为对象:跟踪对象所做的更改:并发处理:将对象更改传播到数据源等.今天我们就一起讨论如何利用Entity Framework进行查询.插入.更新和删除数据. 查询 我们将使用AdventureWorks数据库来进行今天的所有演示,因此开始之前请准备好相应的数据库.在EF中进行查询应该说是相当简单,只需要定义一个类继承于"DbContext",然后定义对应的"DbSe

ios开发 蓝牙通信-ios利用如何利用蓝牙通信

问题描述 ios利用如何利用蓝牙通信 ios利用如何利用蓝牙通信, 现在在研究蓝牙通信的问题,利用哪个framework:corebluetooth还是其他的?大家有推荐的文档.demo等? 急!!! 解决方案 可以看看这个demohttp://m.blog.csdn.net/article/details?plg_nld=1&id=51014318&plg_auth=1&plg_uin=1&plg_usr=1&plg_vkey=1&plg_nld=1&am