📅  最后修改于: 2023-12-03 14:59:43.742000             🧑  作者: Mango
C# 中返回两个值的方法有很多种,这篇文章将介绍其中常用的几种方法。
元组是一个可以包含多个不同类型数据的简单数据结构。在 C# 7.0 引入的元组可以非常方便地返回多个值。以下是一个简单的例子。
using System;
public class Example
{
public static (int, string) GetValues()
{
int number = 1;
string name = "Tom";
return (number, name);
}
public static void Main()
{
var values = GetValues();
Console.WriteLine($"{values.Item1} {values.Item2}"); // 输出: 1 Tom
}
}
在上面的代码中,我们定义了一个返回类型为元组 (int, string) 的静态方法 GetValues()。在方法中,我们定义了两个变量:一个 int 类型的变量 number 和一个 string 类型的变量 name。最后我们使用元组的语法,将这两个变量作为一个元组返回。在 Main 方法中,我们将这个元组赋值给 values 变量,并使用 Item1 和 Item2 属性来访问元组中的两个值。
我们还可以使用 C# 的 out 参数来返回多个值。以下是一个例子。
using System;
class Example
{
public static void GetValues(out int number, out string name)
{
number = 1;
name = "Tom";
}
public static void Main()
{
int number;
string name;
GetValues(out number, out name);
Console.WriteLine($"{number} {name}"); // 输出: 1 Tom
}
}
在上面的代码中,我们定义了一个静态方法 GetValues(),它有两个 out 参数:一个 int 类型的参数 number 和一个 string 类型的参数 name。在方法中,我们将这两个参数的值分别设置为 1 和 "Tom"。在 Main 方法中,我们定义了两个变量 number 和 name,并将它们作为 out 参数传给 GetValues() 方法。在方法调用后,我们就可以像访问普通变量一样访问 number 和 name 变量了。
除了使用 C# 的元组和 out 参数之外,我们还可以使用 ValueTuple。以下是一个例子。
using System;
class Example
{
public static ValueTuple<int, string> GetValues()
{
int number = 1;
string name = "Tom";
return (number, name);
}
public static void Main()
{
var values = GetValues();
Console.WriteLine($"{values.Item1} {values.Item2}"); // 输出: 1 Tom
}
}
在上面的代码中,我们定义了一个返回类型为 ValueTuple<int, string> 的静态方法 GetValues()。在方法中,我们定义了两个变量:一个 int 类型的变量 number 和一个 string 类型的变量 name。最后我们使用 ValueTuple 的语法,将这两个变量作为一个 ValueTuple 返回。在 Main 方法中,我们将这个 ValueTuple 赋值给 values 变量,并使用 Item1 和 Item2 属性来访问 ValueTuple 中的两个值。
以上是 C# 中返回两个值的几种方法。使用元组、out 参数和 ValueTuple 都可以方便地返回多个值。程序员可以根据具体情况选择使用哪种方法。