C#多维数组解析

时间:2012-02-16 14:00:32

标签: c# arrays c#-4.0 multidimensional-array

我有一个多维数组。

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

阵列设置为

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

我基本上需要知道哪一行说不,但我很难解析数组。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

var rowIndices = Enumerable.Range(0, s.GetLength(0)).Where(i => s[i, 2] == "No");

答案 1 :(得分:1)

所以?

        [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]);
                }

            }
         }

答案 2 :(得分:0)

你可以用这样的东西来做:

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