📜  c#方法返回多个值 - C#(1)

📅  最后修改于: 2023-12-03 14:39:48.968000             🧑  作者: Mango

C#方法返回多个值

在编程中,我们经常需要返回多个值。C#方法可以通过使用元组(tuples)或自定义类来实现返回多个值。本文将介绍这两种方法。

使用元组

元组是一个可以保存多个不同类型的值的类型。在C# 7.0及其以上版本中,我们可以使用元组来返回多个值。

下面是一个使用元组返回两个整数的例子:

public (int, int) Divide(int dividend, int divisor)
{
    int quotient = dividend / divisor;
    int remainder = dividend % divisor;
    return (quotient, remainder);
}

调用该方法的程序:

var result = Divide(10, 3);
Console.WriteLine($"quotient: {result.Item1}, remainder: {result.Item2}");

输出:

quotient: 3, remainder: 1

这里Divide方法返回一个元组,包含两个整数。在程序中,我们可以使用.Item1和.Item2属性访问元组的每个元素。

C# 7.0还支持元组的命名元素。我们可以使用以下语法:

public (int quotient, int remainder) Divide(int dividend, int divisor)
{
    int quotient = dividend / divisor;
    int remainder = dividend % divisor;
    return (quotient: quotient, remainder: remainder);
}

调用该方法的程序:

var result = Divide(10, 3);
Console.WriteLine($"quotient: {result.quotient}, remainder: {result.remainder}");

输出:

quotient: 3, remainder: 1

这里Divide方法返回一个命名元素的元组,包含两个整数。在程序中,我们可以使用.quotient和.remainder属性访问元组的每个元素。

使用自定义类

除了使用元组,我们还可以使用自定义类来返回多个值。以下是一个使用自定义类返回两个整数的例子:

public class DivideResult
{
    public int Quotient { get; set; }
    public int Remainder { get; set; }
}

public DivideResult Divide(int dividend, int divisor)
{
    int quotient = dividend / divisor;
    int remainder = dividend % divisor;
    return new DivideResult { Quotient = quotient, Remainder = remainder };
}

调用该方法的程序:

var result = Divide(10, 3);
Console.WriteLine($"quotient: {result.Quotient}, remainder: {result.Remainder}");

输出:

quotient: 3, remainder: 1

这里Divide方法返回一个DivideResult类的实例,该实例包含两个整数。在程序中,我们可以使用.Quotient和.Remainder属性访问这些整数。

结论

在C#中,我们可以使用元组或自定义类来返回多个值。元组适用于返回几个简单的值,而自定义类适用于返回更复杂的值。根据具体的情况,我们可以选择使用适合的方法。