4
A
回答
6
使用Excel和VSTO,我一直处理多维数组。没有像Array.Find()这样的多维数组的内置函数。
您基本上有两种选择:创建您自己的帮助器方法并在其中实现通用搜索模式,或者生成与多维数组内容相关的域对象列表。我个人倾向于选择后者。
如果你选择写一个辅助方法,它可能看起来是(非常粗略地)是这样的:
// you could easily modify this code to handle 3D arrays, etc.
public static class ArrayHelper
{
public static object FindInDimensions(this object[,] target,
object searchTerm)
{
object result = null;
var rowLowerLimit = target.GetLowerBound(0);
var rowUpperLimit = target.GetUpperBound(0);
var colLowerLimit = target.GetLowerBound(1);
var colUpperLimit = target.GetUpperBound(1);
for (int row = rowLowerLimit; row < rowUpperLimit; row++)
{
for (int col = colLowerLimit; col < colUpperLimit; col++)
{
// you could do the search here...
}
}
return result;
}
}
你会引用静态伸展像这样的应用程序代码的其他部分:
object[,] myArray = GetMyArray(); // gets an array[,]
myArray.FindInDimensions(someObject);
+0
所有的上限应该是++或<需要是<= – 2016-10-30 12:54:00
+0
伟大的解决方案。你说得对,用VSTO和Excel工作,这非常有用。 – 2017-03-03 22:02:15
3
没有内置的多维搜索功能。你必须自己写。
2
相关问题
- 1. 如何搜索多维数组?
- 2. 多维数组搜索
- 3. in_array多维数组搜索
- 4. 搜索到多维数组
- 5. 搜索多维数组
- 6. Perl多维数组搜索
- 7. 搜索在多维数组
- 8. PostgreSQL多维数组搜索
- 9. javascript数组多维搜索索引
- 10. 搜索和检索多维数组
- 11. 通过数据搜索多维数组
- 12. 如何从多维数组中搜索和检索值?
- 13. PHP多维数组搜索返回键
- 14. 搜索和打印多维数组
- 15. 用1个foreach搜索多维数组?
- 16. 在多维数组中搜索
- 17. 在PHP中搜索多维数组?
- 18. 多维数组搜索键值对
- 19. PHP搜索多维数组 - 不关联
- 20. 多维数组 - 搜索相同的值
- 21. PHP - 搜索多维数组内的值
- 22. PHP - 在多维数组中搜索
- 23. 在PHP中搜索多维数组
- 24. 追加和搜索多维数组
- 25. 多维数组中的搜索值
- 26. 搜索多维数组的价值PHP
- 27. Ruby在多维数组中搜索
- 28. 在多维数组(PHP)中搜索
- 29. 搜索多维PHP数组的关键
- 30. 搜索多维数组匹配
如果您需要多次搜索'O(dimension_1 * dimension_2 * ... * dimension_n)'这样的搜索,那么在选择算法和数据结构时,您已经做出了非常错误的选择。 – delnan 2011-05-21 21:59:53