如何在C#中向调用方法返回多个值?
元组可以在C#中用来从方法返回多个值。它允许我们存储一个数据集,该数据集包含多个可能相互关联也可能不相关的多个值。最新的元组称为ValueTuple,在C# 7.0(.NET Framework 4.7)中引入。
ValueTuple既高效,又可以通过程序员选择的名称进行引用。ValueTuple提供了一种轻量级的机制,可以从现有方法返回多个值。ValueTuple可在**System.ValueTuple NuGet包**中获得。
public (int, string, string) GetPerson() { }
示例1
using System;
namespace DemoApplication{
class Program{
public static void Main(){
var fruits = GetFruits();
Console.WriteLine($"Fruit Id: {fruits.Item1}, Name: {fruits.Item2}, Size:
{fruits.Item3}");
Console.ReadLine();
}
static (int, string, string) GetFruits(){
return (Id: 1, FruitName: "Apple", Size: "Big");
}
}
}输出
以上代码的输出为:
Fruit Id: 1, Name: Apple, Size: Big
在上面的例子中,我们可以看到GetFruits()方法返回多个值(int, string, string)。元组的值可以通过fruits.Item1, fruits.Item2, fruits.Item3访问。
我们也可以使用解构来检索单个成员。
(int FruitId, string FruitName, string FruitSize) = GetFruits();
示例2
using System;
namespace DemoApplication{
class Program{
public static void Main(){
(int FruitId, string FruitName, string FruitSize) = GetFruits();
Console.WriteLine($"Fruit Id: {FruitId}, Name: {FruitName}, Size:
{FruitSize}");
Console.ReadLine();
}
static (int, string, string) GetFruits(){
return (Id: 1, FruitName: "Apple", Size: "Big");
}
}
}输出
以上代码的输出为:
Fruit Id: 1, Name: Apple, Size: Big
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP