Нужно выполнить поиск в массиве строк пустых элементов и вернуть количество вхождений пустых строк
Нужно вернуть количество вхождений пустых строк.
Вот мой код
А вот тест (прикрепил)

public static int GetEmptyStringCount(string[] arrayToSearch)
{
if (arrayToSearch is null)
{
throw new ArgumentNullException(nameof(arrayToSearch));
}
if (arrayToSearch.Length == 0)
{
return 0;
}
int idx = 0;
int countEmpyStr = 0;
while (idx <= arrayToSearch.Length - 1)
{
countEmpyStr += string.IsNullOrEmpty(arrayToSearch[^1]) ? 1 : 0;
idx++;
}
return countEmpyStr;
}
2 теста валит, хотя вроде всё правильно...
Ответы (3 шт):
Автор решения: Yevgene Victorovich
→ Ссылка
private static int GetEmptyStringCount(string[] array)
{
if (array == null)
throw new ArgumentNullException(nameof(arrayToSearch));
if (array.Length == 0)
return 0;
var count = array.Count(string.IsNullOrEmpty);
return count;
}
Автор решения: Aarnihauta
→ Ссылка
К чему такие трудности в вашем методе? Если вам нужно просто посчитать количество пустых строк - то используйте Linq:
private static int GetEmptyStringCount(string[] array)
{
if (array == null || array.Length == 0)
throw new ArgumentException(nameof(array));
return array.Count(x => string.IsNullOrWhiteSpace(x));
}
Автор решения: Michael Clifford
→ Ссылка
public static int GetEmptyStringCount(string[] arrayToSearch)
{
if (arrayToSearch is null)
{
throw new ArgumentNullException(nameof(arrayToSearch));
}
if (arrayToSearch.Length == 0)
{
return 0;
}
int idx = 0;
int countEmpyStr = 0;
while (idx <= arrayToSearch.Length - 1)
{
countEmpyStr += string.IsNullOrEmpty(arrayToSearch[idx]) ? 1 : 0;
idx++;
}
return countEmpyStr;
}