C#多维数组解析

本文关键字:数组 | 更新日期: 2023-09-27 18:24:55

我有一个多维数组。

调试器中的内容如下所示。

阵列设置为

String[,] s = new String[6,4]

A B Yes C
A B Yes C
A B No  C
A B Yes C
A B Yes C
A B Yes C
A B No  C
A B Yes C

我基本上需要知道哪一行说"不",但我在解析数组时遇到了困难。如有任何帮助,我们将不胜感激。

C#多维数组解析

是吗?

        [TestMethod]
        public void test()
        {
            var text = new String[6, 4]
                               {
                                   {"A", "B", "C", "Yes"},
                                   {"A", "B", "C", "Yes"},
                                   {"A", "B", "C", "Yes"},
                                   {"A", "B", "C", "Yes"},
                                   {"A", "B", "Not", "C"},
                                   {"A", "B", "C", "Yes"}
                               };
            var rowWithNot = new List<int>();
            for (int row = 0; row < 6; row++)
                for (int col = 0; col < 4; col++)
                    if (text[row, col].Contains("Not"))
                    {
                        rowWithNot.Add(row);
                        break;
                    }
            foreach (var row in rowWithNot)
            {
                for (int col = 0; col < 4; col++)
                {
                    Console.WriteLine(text[row, col]);
                }
            }
         }
var rowIndices = Enumerable.Range(0, s.GetLength(0)).Where(i => s[i, 2] == "No");

您可以使用以下方法来完成:

IEnumurable<int> GetRowNumbersThatSayNo(string[,] values)
{
for(int i=0;i<values.Length;i++)
if(values[i,2]=="No") yield return i;
}