Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Dotazovací jazyk LINQ - jak realizovat řešení

Ahoj,

jsem tu znova a tentokrát naposledy. Mám dotaz na řešení dílčího problému.
Mám dvě LINQové proměnné, které obsahují položky.

Každá položka obsahuje SKUPINU a ČÍSLO.

Řekněme, že položka vypadá takto:

 public class CustomClass
        {
            public string SKUPINA { get; set; }
            public int CISLO { get; set; }
        }
A těchto položek mám dvě LINQ kolekce nějak takto:

var list1 = new List<CustomClass> { 
		new CustomClass { SKUPINA = "a", CISLO = 100 },
		new CustomClass { SKUPINA = "a", CISLO = 101 },
		new CustomClass { SKUPINA = "c", CISLO = 200 },
		new CustomClass { SKUPINA = "d", CISLO = 300 }
	};
	var list2 = new List<CustomClass> {
		new CustomClass { SKUPINA = "a", CISLO = 109 },
		new CustomClass { SKUPINA = "b", CISLO = 400 },
		new CustomClass { SKUPINA = "e", CISLO = 500 },
		new CustomClass { SKUPINA = "f", CISLO = 600 }
	};

A potřebuji dosáhnout následujícího:
Abych získal třetí kolekci, která bude obsahovat pouze to, co je v kolekci list2 a co je navíc v kolekci list1.

Výsledkem by tedy měly být tyto položky (tato kolekce):
        new CustomClass { SKUPINA = "a", CISLO = 102 },
		new CustomClass { SKUPINA = "b", CISLO = 400 },
		new CustomClass { SKUPINA = "e", CISLO = 500 },
		new CustomClass { SKUPINA = "f", CISLO = 600 }
Tento problém tedy vypadá v podstatě hodně jednoduše, že vezmeme List2 a přidáme k němu to, co obsahuje List1 navíc.
Takovouto kolekci již mám.
Toto umím provést, ale jde o to, aby vlastnost CISLO pokračovala tam, kde v Listu1 zkončilo číslování.
Což jak vidíme bylo v list1 číslo 101, proto ve výsledné kolekci je to číslo 102.
Toto se ale týká samozřejmě jen společných skupin.

Pokud tento dotaz zapadne, bude uzamčen a nebo smazán, nebudu se zlobit :-)
Díky za přečtení.

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny