Policz różne wartości kolumny w dataGridView za pomocą linq w .NET

Muszę policzyć i przedstawić różne / unikalne wartości w dataGridView. Chcę to przedstawić w ten sposób, a ten kod działa dobrze z listami.

        List<string> aryIDs = new List<string>();
        aryIDs.Add("1234");
        aryIDs.Add("4321");
        aryIDs.Add("3214");
        aryIDs.Add("1234");
        aryIDs.Add("4321");
        aryIDs.Add("1234");

        var result= aryIDs.GroupBy(id => id).OrderByDescending(id => id.Count()).Select(g => new { Id = g.Key, Count = g.Count() });

Ale kiedy próbuję użyć tego samego podejścia w kolumnie w dataGridView, pojawia się błąd mówiący, że groupBy nie może być użyty na moim dataGridView.

        DataGridView dataGridView1= new DataGridView();
        dataGridView1.Columns.Add("nr", "nr");
        string[] row1 = new string[] { "1234" };
        string[] row2 = new string[] { "4321" };
        string[] row3 = new string[] { "3214" };
        string[] row4 = new string[] { "1234" };
        string[] row5 = new string[] { "4321" };
        string[] row6 = new string[] { "1234" };

        object[] rows = new object[] { row1, row2, row3, row4, row5, row6 };

        foreach (string[] rowArray in rows)
        {
            dataGridView1.Rows.Add(rowArray);
        }

        var result = dataGridView1.GroupBy(id => id).OrderByDescending(id => id.Count()).Select(g => new { Id = g.Key, Count = g.Count() });

Tak więc moje pytanie brzmi, jak dostosować tę składnię linq do pracy z kolumną w dataGridView? Jeśli to możliwe, nie chcę używać list.

questionAnswers(2)

yourAnswerToTheQuestion