码迷,mamicode.com
首页 > 其他好文 > 详细

返回元组

时间:2014-06-21 21:46:46      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:class   blog   http   ext   使用   文件   

返回元组


首先,我们讨论为什么应该避免使用元组。如果函数返回元组,用户就必须引用  FSharp.Core.dll;另外,需要使用元组的代码C# 中看并不好。考虑下面的例子,我们定义了函数 hourAndMinute,它从结构 DateTime 中返回时、分。


#light
module Strangelights.DemoModule
open System


// returns the hour and minute from the give date as a tuple
let hourAndMinute (time: DateTime) = time.Hour, time.Minute


// returns the hour from the given date
let hour (time: DateTime) = time.Hour
// returns the minutes from the given date
let minute (time: DateTime) = time.Minute


为了从 C# 中调用这个函数,还要跟着完成下面的例子。如果你使用 Visual Studio,需要在 F# 解决方案中创建一个 C# 项目,即,选择 文件-添加-新建项目,再选择 C# 控制台项目,如图 14-1 所示。

bubuko.com,布布扣
 
图 14-1 如何新建 C# 项目
接下来,需要在 C# 项目中添加对 F# 项目的引用,然后,添加下面的 C# 类到刚创建的项目中。


// !!! C# Source !!!
using System;
using Strangelights;
using Microsoft.FSharp.Core;


static class PrintClass {
  internal static void HourMinute() {
    // call the "hourAndMinute" function and collect the
    // tuple that‘s returned
    Tuple<int, int> t = DemoModule.hourAndMinute(DateTime.Now);
    // print the tuple‘s contents
    Console.WriteLine("Hour {0} Minute {1}", t.Item1, t.Item2);
  }
}


示例的运行结果如下:


Hour 16 Minute 1


虽然前面示例中的 C# 并不太难看,但是,如果把这个函数分成两个,一个返回小时,一个返回分钟,可能会更好。

返回元组,布布扣,bubuko.com

返回元组

标签:class   blog   http   ext   使用   文件   

原文地址:http://blog.csdn.net/hadstj/article/details/32714591

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!