Hej wszystkim!
Wydawać by się mogło, że pytanie proste i pewnie tak jest ale mam chwilowe zaćmienie. Chciałabym sprawdzić czy macierz będąca elementem pary Tuple<List<List<double>>, List<double>> dataContents jest macierzą kwadratową, założyłam najgorszy przypadek, gdzie kolumny mają różny rozmiar względem siebie oraz wiersze mają różny rozmiar względem siebie tzn.:
2 3 4
1 2
6 7 9 0
2
Pomyślałam, że będę sprawdzać, czy dla każdej kolumny liczba elementów w każdym wierszu jest równa liczbie elementów w kolumnie, problem jest taki, że macierz jest przedstawiona jako List<List<double>> i nie do końca wiem w jaki sposób sprytnie po niej przejść i zliczyć długość każdej kolumny bez iteracji i zapisywania długości kolumn z zmiennej a nie mogę znaleźć żadnej metody getLength() dla kolumn, próbowałam również korzystać z toArray aby przejść na tablicę i tam iterować ale ciągle nie wiem jak otrzymać liczbę elementów w poszczególnych kolumnach bez czasochłonnego iterowania. Będę wdzięczna za jakieś pomysły!
Z góry wielkie dzięki!
Leks
0
0
List<double>
ma metodę Count()
, która ci powie, ile ma elementów. Zresztą List<List<double>>
też taką metodę posiada :)
Pomyślałam, że będę sprawdzać, czy dla każdej kolumny liczba elementów w każdym wierszu jest równa liczbie elementów w kolumnie,
Jak najbardziej sensowne rozwiązanie.
Prawdopodobnie wyjdzie coś w stylu:
public static bool CzyMacierzJestKwadratowa(List<List<double>> macierz)
{
var liczbaWierszy = macierz.Count();
foreach (var item in macierz)
if (item.Count() != liczbaWierszy)
return false;
return true;
}
0
Bardzo dziękuję @Ktos za wskazówkę :)