Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果返回多维数组,如何设计此方法?_C#_.net_Arrays_Methods_Multidimensional Array - Fatal编程技术网

C# 如果返回多维数组,如何设计此方法?

C# 如果返回多维数组,如何设计此方法?,c#,.net,arrays,methods,multidimensional-array,C#,.net,Arrays,Methods,Multidimensional Array,我现在正在设计一个SNMP库。这个问题是由这样一个特殊的函数引起的 ***可获取(字符串id) 此函数可能返回变量[,],有时是二维数组,但也可能返回变量[,]和维度更多的数组。因此,我认为返回固定数组(如变量[,],变量[,]等)是不合理的 但是这个方法应该返回什么呢?如何设计?那么定制VariableCollection呢 欢迎任何建议。好的,您可以返回数组,让调用者检查.Rank 当然,首先返回数组可能不是最好的选择(取决于场景):一般来说,返回自定义类型可以使数据的表示更加灵活。我还倾向

我现在正在设计一个SNMP库。这个问题是由这样一个特殊的函数引起的

***可获取(字符串id)

此函数可能返回变量[,],有时是二维数组,但也可能返回变量[,]和维度更多的数组。因此,我认为返回固定数组(如变量[,],变量[,]等)是不合理的

但是这个方法应该返回什么呢?如何设计?那么定制VariableCollection呢


欢迎任何建议。

好的,您可以返回
数组
,让调用者检查
.Rank


当然,首先返回数组可能不是最好的选择(取决于场景):

一般来说,返回自定义类型可以使数据的表示更加灵活。我还倾向于提供您自己的方法来访问此集合中的数据,而不是公开多维数组


我自己通常避免使用多维矩形数组。在许多情况下,多维交错数组更方便,因为您可以孤立地取出一个切片。

返回多维数组是一个危险的选择。我建议实现一个自定义集合,以及获取其内部状态信息的方法和从中获取数据的方法。当客户端调用您的方法时,它更灵活,更不容易出错。

如果创建公共Api,建议返回强类型集合。因此,我将创建一个自定义对象,它可以获取您想要返回的所需数据,然后使用.net集合返回它

希望这有帮助