C# 如果返回多维数组,如何设计此方法?
我现在正在设计一个SNMP库。这个问题是由这样一个特殊的函数引起的 ***可获取(字符串id) 此函数可能返回变量[,],有时是二维数组,但也可能返回变量[,]和维度更多的数组。因此,我认为返回固定数组(如变量[,],变量[,]等)是不合理的 但是这个方法应该返回什么呢?如何设计?那么定制VariableCollection呢C# 如果返回多维数组,如何设计此方法?,c#,.net,arrays,methods,multidimensional-array,C#,.net,Arrays,Methods,Multidimensional Array,我现在正在设计一个SNMP库。这个问题是由这样一个特殊的函数引起的 ***可获取(字符串id) 此函数可能返回变量[,],有时是二维数组,但也可能返回变量[,]和维度更多的数组。因此,我认为返回固定数组(如变量[,],变量[,]等)是不合理的 但是这个方法应该返回什么呢?如何设计?那么定制VariableCollection呢 欢迎任何建议。好的,您可以返回数组,让调用者检查.Rank 当然,首先返回数组可能不是最好的选择(取决于场景):一般来说,返回自定义类型可以使数据的表示更加灵活。我还倾向
欢迎任何建议。好的,您可以返回
数组
,让调用者检查.Rank
当然,首先返回数组可能不是最好的选择(取决于场景):一般来说,返回自定义类型可以使数据的表示更加灵活。我还倾向于提供您自己的方法来访问此集合中的数据,而不是公开多维数组
我自己通常避免使用多维矩形数组。在许多情况下,多维交错数组更方便,因为您可以孤立地取出一个切片。返回多维数组是一个危险的选择。我建议实现一个自定义集合,以及获取其内部状态信息的方法和从中获取数据的方法。当客户端调用您的方法时,它更灵活,更不容易出错。如果创建公共Api,建议返回强类型集合