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