
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í.