【问题标题】:How to search index of an object in jagged array?如何在锯齿状数组中搜索对象的索引?
【发布时间】:2016-04-13 08:21:07
【问题描述】:

这是我的代码 我需要通过匹配构造函数中的char值来找到对象的索引。

Transition[][] transitions = new Transition[3][]
{
    new Transition[] {new Transition ('+',1), new Transition('-',1 ) , new Transition('0',1), new Transition('1', 1), new Transition('2', 1) } ,
    new Transition[] {new Transition('0', 2), new Transition ('1',2) , new Transition('2',2) },
    new Transition[] {new Transition ('0',2) , new Transition( '1',2 ), new Transition('2',2) }
};

【问题讨论】:

  • 但是所有数组都包含一个Transition 和相同的字符0。您想查找所有索引还是只查找第一个?

标签: c# arrays jagged-arrays


【解决方案1】:

每个字符匹配都有 2 个索引值。并且有多种可能的结果。

所以你确定索引的方法应该是这样的

public static IEnumerable<Tuple<int, int>> GetIndexes(Transition[][] Items, char SearchChar)
{
    for (int i = 0; i < Items.Length; i++)
    {
        for (int j = 0; j < Items[i].Length; j++)
        {
            if (Items[i][j].charItem == SearchChar) // charItem  is the name of your property
            {
                yield return new Tuple<int, int>(i, j);
            }
        }
    }
}

用法:

var Result = GetIndexes(transitions, '1'); //(0,3)(1,1)(2,1)

【讨论】:

    猜你喜欢
    • 2021-11-07
    • 2015-05-14
    • 2011-12-09
    • 2023-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-27
    • 2013-05-28
    相关资源
    最近更新 更多