Keresés

Új hozzászólás Aktív témák

  • kingabo

    őstag

    válasz Lakers #1811 üzenetére

    Ha tudsz sql-ül, akkor a var line =... könnyen átírható LINQ-s formába (sql szerű "lekérdezéseket" írhatsz benne, de nemcsak sql-es adatbázisok lekérésére (LINQ to SQL), hanem pl listákon, tömbökön...):
    var line = from x in lines
    where x.Product.ProductID == product.ProductID
    select x;

    Ebből talán jobban látszik, hogy a lines listából kiválasztja azokat a sorokat amelyeknek a ProductID-ja megegyezik a paraméterben kapottal. A FirstOrDefault ezek közül a sorok közül visszaadja az elsőt vagy ha nincs a feltételnek megfelelő sor, akkor a default értéket, ami itt a null.
    Az if-es részben megvizsgálod, hogy van-e ilyen sorod, ha nincs akkor beszursz egyet a paraméterekben kapott adatokkal, ha van, akkor csak növeled a darabszám értékét.
    Szemléletesen: ha jól sejtem ez egy webshopban a kosárba tételnek a kódja. Vagyis miután valamit be akarsz tenni a kosárba megvizsgálod, hogy benn van-e (var line = ...), aztán ha már benne van a kosárban, akkor csak a bentlévő darabszámot növeled meg a most berakottakkal. Ha nincs benne, akkor egy új sor hozzáadásával bekerül az új elem a kosárban.
    Remélem érthetően írtam le.

Új hozzászólás Aktív témák