首页 > 解决方案 > c# 在二维数组中查找字符

问题描述

我有这样的二维数组。

[A] [B] [C]
[D] [E] [F]
[G] [H] [I]

我想要一个函数,它接收一个字符串作为参数并返回一个数组 int[,] ,其中包含该字符串的每个字的位置。

public int[,] GetPosition(string Word)
{
    int[,] coordenadas = new int[1, Word.Length];
    for (int value = 0; value < Word.Length; value++)
    {
        char letra = Word[value];
        for (int i = 0; i < row; i++)
        {
            for (int j = 0; j < col; j++)
            {
                if (array[i, j].Equals(letra.ToString()))
                {
                    coordenadas[0, j] = //??
                }
            }
        }
    }

然后我用一个像这样的词来调用那个函数GetPosition("GEI")

它必须返回一个数组{{3,1},{2,2},{3,3}}

我怎样才能int[,]在每个职位上建立一个?

标签: c#multidimensional-array

解决方案


我怎样才能int[,]在每个职位上建立一个?

你不想要一个int[,],你只想要一个向量(一维数组),其中每个都是由两个数字组成的。您可以使用Tuple<int, int>或仅使用普通int[]结构或其他结构,具体取决于您希望如何使用数据..

因此,要设置数组中的值,您可以执行以下操作:

int[][] coordenadas= new int[][Word.Length];
...
    coordenadas[value] = new int[] {i, j};

请注意,coordenadas似乎不需要是二维数组。


推荐阅读