IEnumerable - prochazeni kolekci – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

IEnumerable - prochazeni kolekci – .NET – Fórum – Programujte.comIEnumerable - prochazeni kolekci – .NET – Fórum – Programujte.com

 

jirkab0
Newbie
21. 4. 2012   #1
-
0
-

dobry den, mam jeden dotaz

Mam jednu tridu treba auto a v ni dve vlastnosti barva a znacka

public class Auto
{
        public string Barva{ get; set; }

        public string Znacka{ get; set; }
}

ted si dam vsechny auta do kolekce. Vytvorim si nove auto se znackou Audi a chtel bych zjistit jestli se auta se znackou Audi vyskytujou v dane kolekci.

List<Auto> product = new List<Auto>() 
Auto car1 = new Auto();
Auto car2 = new Auto();
Auto car3 = new Auto();

car1.Barva = "cerna";
car1.Znacka = "Audi";
car2.Barva = "bila";
car2.Znacka = "Audi";
car3.Barva = "modra";
car3.Znacka = "BMW";
product.Add(car1);  
product.Add(car2);  
product.Add(car3);
Auto car = new Auto();
car.Znacka = "Audi";
car.Barva = "cerna";

if(product.Contains(car.Znacka))
   Console.WriteLine("obsahuje");
// tohle nefunguje, da se to nejak obejit ?
Nahlásit jako SPAM
IP: 109.80.144.–
amertak
~ Anonymní uživatel
112 příspěvků
21. 4. 2012   #2
-
0
-

 Třeba takhle, s použitím LINQ

if (product.Any(r => r.Znacka == car.Znacka))
      Console.WriteLine("obsahuje");
Nahlásit jako SPAM
IP: 80.251.241.–
pistolnik0
Newbie
21. 4. 2012   #3
-
0
-

#1 jirkab
Nebo přes foreach:

foreach (var item in product)
{
	if (item.Znacka == car.Znacka) {
        	Console.WriteLine("obsahuje");
                break;
        }
}

Ale LINQ je asi efektivnější řešení.

Nahlásit jako SPAM
IP: 2001:718:1e02:9120:d575:8...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý