C # Разбор многомерных массивов - PullRequest
0 голосов
/ 16 февраля 2012

У меня есть многомерный массив.

Содержимое в отладчике выглядит следующим образом.

Массив настроен как

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 ]

1 голос
/ 16 февраля 2012

так?

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

            }
         }
1 голос
/ 16 февраля 2012
var rowIndices = Enumerable.Range(0, s.GetLength(0)).Where(i => s[i, 2] == "No");
0 голосов
/ 16 февраля 2012

вы можете сделать это, используя что-то вроде этого:

IEnumurable<int> GetRowNumbersThatSayNo(string[,] values)
{
for(int i=0;i<values.Length;i++)
if(values[i,2]=="No") yield return i;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...