繁体   English   中英

如何在多维数组C#中获取特定索引

[英]How to get a specific index in multidimensional Array C#

我有一个二维数组object[,] mData

我需要在不使用循环的情况下 (例如foreachfor )检索该对象数组中特定字符串(键)的索引。

我不想使用循环的原因是因为我试图优化使用循环的当前代码块,这会导致该过程花费大量时间,因为它管理着太多的数据。

有没有办法做到这一点?

`

object [,] mData = null;  
string sKey = String.Empty;  

for (int iIndex = 0; iIndex < mData.GetUpperBound(1); iIndex++)  
{  
    if (mData[0, iIndex].Value == sKey);  
    {
       return;  
    }  
}

`

需要一个循环来线性搜索元素。 即使您可以调用一种获取索引的方法(我认为没有),方法内部仍然会有一个循环。

如果您担心性能,请尝试对数据进行排序的二进制搜索。

我正在尝试使用循环来优化当前代码块,这会导致该过程花费很长时间,因为它管理着太多的数据。

循环并不一定会使您的代码运行速度大大降低。 问题的核心是数据太多。 如果您有那么多数据,则预计速度会很慢。 可以做的是异步运行耗时的操作,以使UI不会冻结。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM