C# 以 object[] 和 object[][] 作为参数调用方法 (params object[][])

作者:编程家 分类: arrays 时间:2025-11-19

# 使用C#中的object[]和object[][]作为参数调用方法

在C#中,我们经常需要传递不同类型和维度的参数给方法。本文将介绍如何使用`object[]`和`object[][]`作为参数调用方法,同时通过`params object[][]`来简化参数传递的过程。

## 传递object[]作为参数

首先,让我们了解如何使用`object[]`作为参数调用方法。`object[]`是一个通用的数组类型,可以容纳各种不同类型的元素。通过这种方式,我们可以实现方法的灵活调用,无论是基本类型还是自定义类型。

csharp

class Program

{

static void Main()

{

object[] parameters = { 1, "Hello", 3.14, true };

MyMethod(parameters);

}

static void MyMethod(params object[] args)

{

foreach (object arg in args)

{

Console.WriteLine(arg);

}

}

}

在上述示例中,我们定义了一个`object[]`类型的数组`parameters`,其中包含整数、字符串、浮点数和布尔值。然后,我们调用了名为`MyMethod`的方法,并将`parameters`数组作为参数传递进去。在`MyMethod`方法内部,我们通过`params object[] args`接收参数,并通过`foreach`循环遍历并打印每个参数的值。

## 传递object[][]作为参数

有时候,我们可能需要传递二维数组作为参数。这时,我们可以使用`object[][]`来实现。同样,我们可以通过`params object[][]`来简化参数传递。

csharp

class Program

{

static void Main()

{

object[][] matrix = { new object[] { 1, 2, 3 }, new object[] { "a", "b", "c" } };

MyMatrixMethod(matrix);

}

static void MyMatrixMethod(params object[][] matrix)

{

foreach (object[] row in matrix)

{

foreach (object item in row)

{

Console.Write(item + " ");

}

Console.WriteLine();

}

}

}

在这个例子中,我们定义了一个`object[][]`类型的二维数组`matrix`,其中包含两个包含不同类型元素的子数组。我们调用了名为`MyMatrixMethod`的方法,并将`matrix`作为参数传递。在`MyMatrixMethod`内部,我们通过`params object[][] matrix`接收参数,并使用嵌套的`foreach`循环遍历并打印二维数组的每个元素。

##

通过使用`object[]`和`object[][]`作为方法的参数,我们可以在C#中实现更灵活的方法调用。使用`params`关键字可以简化参数传递的过程,使代码更加清晰和易于维护。在实际项目中,这种灵活性和简洁性能够提高代码的可读性和可维护性。