Witam,

Do rzeczy.

Potrzebuję zsumować każdy element o indeksie n, z listy atrybutów z pogrupowanych według klasy decyzyjnej obiektów, oraz zrobić to samo z pozostałymi obiektami nie należącymi do tej klasy. Postaram się to wytłumaczyć na przykładzie

Mam taką hierarchie
*Klasa decyzyjna - 0
#Lista obiektów
*Klasa decyzyjna - 1
#Lista obiektów
*Klasa decyzyjna - 2
#Lista obiektów

Biorę wszystkie obiekty z klasy decyzyjnej 0, wyciągam element o indeksie przykładowo 0 z listy atrybutów z każdego obiektu w tej klasie, sumuję, teraz to samo tylko z wszystkimi obiektami nie należącymi do tej klasy.

Oto co naskrobałem, możliwe że to zły kierunek.

 class ObiektDecyzyjny
    {
       
        public int klasadecyzyjna;
        public List<int> atrybuty = new List<int>();
    }

         public double sc_atrybuty(List<ObiektDecyzyjny> obiekty_klasy_x, IEnumerable<List<ObiektDecyzyjny>> pozostale_obiekty)
        {
            int index =0;
            var x = obiekty_klasy_x.Select(p => p.atrybuty).Sum(a =>a.ElementAt(index)); 
            var y = pozostale_obiekty.Select(p => p.Select(a => a.atrybuty)); // Tutaj nie wiem własnie jak wyciągnąć atrybuty o określonym indeksie ze wszystkich obiektów

        }


        public void test()
        {
         Dictionary<int, List<ObiektDecyzyjny>> pogrupowany_slownik = listaob.GroupBy(p => p.klasadecyzyjna).ToDictionary(c => c.Key, c => c.ToList());
            foreach(var c in pogrupowany_slownik.Keys)
            {
                var pozostale_obiekty = pogrupowany_slownik.Where(p => p.Key != c).Select(d => d.Value);

                sc_atrybuty(pogrupowany_slownik[c], pozostale_obiekty);
               
            }
        }

EDIT: Można zamknąć, problem rozwiązany

var y = pozostale_obiekty.Select(p => p.Select(c =>c.atrybuty).Sum(j => j.ElementAt(index))).Sum();