【问题标题】:How to pass an array of unknown dimension as a method argument?如何将未知维度的数组作为方法参数传递?
【发布时间】:2015-11-29 13:29:35
【问题描述】:

假设我想创建一个将一维或二维数组作为参数的方法(目前,接受更高维数组是没有意义的)。我知道我可以简单地创建两种不同的方法,但我想只保留一种,以保持我的代码简短。

有没有办法创建这样的方法?

【问题讨论】:

  • 您希望该方法如何使用此类参数?例如,它是否应该有一个 if 语句来检查它是一维数组还是二维数组?
  • 这并没有多大意义,因为里面的代码会根据数组的维度而根本不同。你到底想做什么?
  • 不能使用方法重载吗?
  • 你可以只使用二维数组,并且有条件地只使用一侧吗?我认为大多数这样的情况会根据数组参数中的维数有完全不同的实现。

标签: c# multidimensional-array methods


【解决方案1】:

我知道我可以简单地创建两种不同的方法,但我想只保留一种,以保持我的代码简短。

定义这两种情况的共同处理,并创建第三个(可能是私有的)方法来执行该计算。

创建接受这两种类型数组的方法重载,并让它们调用第三种方法来执行两种情况的共同处理。

【讨论】:

  • 我不知道方法重载,直到我现在才读到它(如果你不知道,我对很多这方面还是很陌生)。谢谢你的建议。
猜你喜欢
  • 2011-08-20
  • 2020-09-21
  • 2012-10-04
  • 2011-06-15
  • 2015-03-18
  • 2020-10-04
  • 1970-01-01
相关资源
最近更新 更多