C#普通的函数一般只能返回一个值,当然可以ref和out返回多个值,但是在调用时需初始化参数并传入。C#是个优秀的语言,它给你带了好的方法,那就是可以使用元组类(tuple)。什么是元组类呢?元组是.NET framework4.0推出的新特性,它是具有特定数目和值序列的数据结构。类 Tuple<T1,T2> 表示一个 2 元组或一对,它是具有两个组件的元组。2 元组类似于结构 KeyValuePair<TKey,TValue>。它通常用于从方法返回多个值。
使用方法
它可以支持多种类型的值,如下案例
public static void Main()
{
Tuple<string, int> tuple = fun();
Console.WriteLine($"{tuple.Item1}{tuple.Item2}");
}
private static Tuple<string, int> fun() {
return Tuple.Create("Hello DotNet开发跳槽", 6);
}
//输出结果Hello DotNet开发跳槽6
它还可以支持类的传递,案例如下:
public static void Main()
{
Tuple<string, Test> tuple = fun();
Console.WriteLine($"{tuple.Item2.Name}{tuple.Item1}");
}
private static Tuple<string, Test> fun() {
Test t=new Test();
t.Id=1;t.Name="你好";
return Tuple.Create("DotNet开发跳槽", t);
}
public class Test{
public string Name{get;set;}
public int Id{get;set;}
}
//输出结果:你好DotNet开发跳槽
调用时还可以用var类型。
public static void Main()
{
var tuple = fun();
int j=tuple.Item2+660;
Console.WriteLine($"{tuple.Item1}{j}");
}
private static Tuple<string, int> fun() {
return Tuple.Create("Hello DotNet开发跳槽", 6);
}
// 输出结果:Hello DotNet开发跳槽666
元组还可以表示单个数据集。例如,元组可以表示数据库中的记录,其组件可以表示该记录的字段。使用频率不是太多,大家可以到官网查看,这里就不讲了。
对于函数返回多个值,大家还有啥方法呢?欢迎留言讨论!
参考:微软官方文档
推荐阅读: .NET Core 搭建 Ocelot及使用 C# 多线程之高级篇 定制 ASP.NET Core 的身份认证 C# 11:接口中的静态抽象成员 .NET Conf China 2022 第一批讲师阵容大揭秘!整个期待了! (2/4) .NET Core Web API + Vue By Linux and Windows 部署方案知识点总结 点击下方卡片关注DotNet NB
一起交流学习
▲ 点击上方卡片关注DotNet NB,一起交流学习
请在公众号后台
回复 【路线图】获取.NET 2021开发者路线图 回复 【原创内容】获取公众号原创内容 回复 【峰会视频】获取.NET Conf开发者大会视频 回复 【个人简介】获取作者个人简介 回复 【年终总结】获取作者年终总结 回复 【加群】加入DotNet NB 交流学习群 长按识别下方二维码,或点击阅读原文。和我一起,交流学习,分享心得。