Imali li kakva funkcija kao za int [] niz, niz.Contains(elemant) samo za niz struktura koja sadrži dva podaktovna elementa? Ili moram prolazi for petljom?
Niz struktura- kako provjeriti dali niz struktura sadrži određeni element
Zaključano
Zakačeno
Ako imas referencu na taj element, da. Samo obrati paznju, za int je dovoljno da pitas .contrins(2) jer je vrednosni tip. U ovom slucaju ti treba referenca na objekat cije postojanje u nizu proveravas.
Onda kako da pišem, ako imam strukturu Public Struct BlaBla ( public int a; public int b; ) i niz struktura BlaBla [] niz = new BlaBla ( 10 ) i želim provjerit int a unutar strukture sa Contains? niz[].Contains ( element, ??? ).
Ako koristis C# 3.0 ( Visual Studio 2008 ), mozes da iskoristis IEnumerable ekstenzije nizova i lambda predikat da dodjes do resenja bez svoje For petlje..
Npr, dva nacina preko Aggregate i Where ekstenzija, npr da nadjemo dal sledeci niz ima kao polje2 13 i 15 (mislim da je agregate brzi, zato sto ne generise novi niz, sto Where radi):
Npr, dva nacina preko Aggregate i Where ekstenzija, npr da nadjemo dal sledeci niz ima kao polje2 13 i 15 (mislim da je agregate brzi, zato sto ne generise novi niz, sto Where radi):
Code:
struct MojSlog
{
public int polje1, polje2;
public MojSlog(int p1, int p2) { polje1 = p1; polje2 = p2; }
}
class Program
{
static void Main(string[] args)
{
MojSlog[] niz = { new MojSlog(10, 11),
new MojSlog(14, 18),
new MojSlog(13, 13),
new MojSlog(16, 17)};
// vraca false
bool ima15 = niz.Where(element => element.polje2 == 15).Count() != 0;
// vraca true
bool ima13 = niz.Aggregate(false, (hasEntry, element) => hasEntry |= element.polje2 == 13);
}
}
struct MojSlog
{
public int polje1, polje2;
public MojSlog(int p1, int p2) { polje1 = p1; polje2 = p2; }
}
class Program
{
static void Main(string[] args)
{
MojSlog[] niz = { new MojSlog(10, 11),
new MojSlog(14, 18),
new MojSlog(13, 13),
new MojSlog(16, 17)};
// vraca false
bool ima15 = niz.Where(element => element.polje2 == 15).Count() != 0;
// vraca true
bool ima13 = niz.Aggregate(false, (hasEntry, element) => hasEntry |= element.polje2 == 13);
}
}
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić