Этот код работал для меня (без .Contains):
public class Program
{
public static char[] GetRow(char[,] matrix, int rowNumber)
{
return Enumerable.Range(0, matrix.GetLength(1))
.Select(x => matrix[rowNumber, x])
.ToArray();
}
public static void Main()
{
var array = new [,]
{
{'j', 'j', 'j', 'j', 'j'},
{'j', 'j', 'j', 'j', 'j'},
{'j', 'j', 'j', 'j', 'j'},
{'a', 'j', 'j', 'j', 'j'},
};
char[] vowels = { 'a', 'e', 'i', 'o', 'u' };
var lastRowIndex = array.GetLength(0) - 1;
var lastRow = GetRow(array, lastRowIndex);
int vowelCount = lastRow.Count(x => vowels.Any(vowel => vowel == x));
if(vowelCount == 0) Console.WriteLine("There is no vowel in matrix's last row");
else if(vowelCount > 0) Console.WriteLine("There are vowel(s) in matrix's last row");
}
}
Однако этот код ниже также работал для меня, с .Contains () (я предпочитаю этот второй, так как он чище и больше производительности c):
public class Program
{
public static char[] GetRow(char[,] matrix, int rowNumber)
{
return Enumerable.Range(0, matrix.GetLength(1))
.Select(x => matrix[rowNumber, x])
.ToArray();
}
public static void Main()
{
var array = new [,]
{
{'j', 'j', 'j', 'j', 'j'},
{'j', 'j', 'j', 'j', 'j'},
{'j', 'j', 'j', 'j', 'j'},
{'a', 'j', 'j', 'j', 'j'},
};
char[] vowels = { 'a', 'e', 'i', 'o', 'u' };
var lastRowIndex = array.GetLength(0) - 1;
var lastRow = GetRow(array, lastRowIndex);
int vowelCount = lastRow.Count(x => vowels.Contains(x));
if(vowelCount == 0) Console.WriteLine("There is no vowel in matrix's last row");
else if(vowelCount > 0) Console.WriteLine("There are vowel(s) in matrix's last row");
}
}