Úvod HTML CSS PHP MySQL JavaScript
kolekce

List

Je to struktura, do které můžeme ukládat více objektů a za běhu programu přidávat a mazat záznamy.

Vytvoření a vložení do jednoduchého listu.

 List<int> list = new List<int>();
 list.Add(5);
 list.Add(10);
 
 nebo
 
 string[] poleStringu = {"První", "Druha", "Třetí"};
 List<string> l = new List<string>(poleStringu);
       

Vytvoření listu o několika objektech. Ve třídě GameObject si načte vlastnosti ruzných typů (string, int atd...).

 
  List<GameObject> seznam = new List<GameObject>();
      

Vlastnosti:

  • Count - Vrací počet prvků v kolekci.

Metody:

  • Add() - Přidá nový prvek do listu.
  • AddRange(kolekce) - Přidá do listu více položek, např. z pole.
  • Average() - Vrátí průměr z položek v Listu jako double.
  • Clear() - Vymaže všechny prvky.
  • Concat(kolekce) - K poli připojí druhé pole a takto vzniklé nové pole vrátí.
  • Contains() - Vrátí true, pokud list obsahuje daný prvek.
  • CopyTo(pole) - Zkopíruje položky do předaného pole. Můžeme přidat parametr startovní index a počet prvků.
  • Distinct() - Vymaže duplicitní prvky a unikátní pole vrátí.
  • Find() - Vyhledá daný prvek pomocí predikátu.
  • FindAll() - Najde všechny odpovídající prvky a vrátí nový List, který tyto nalezené prvky obsahuje.
  • FindIndex() - Vrátí index prvního výskytu.
  • FindLast() - Vyhledá poslední prvek.
  • FindLastIndex() - Vrátí index posledního výskytu.
  • First() - Vrátí první element.
  • IndexOf(položka) - Vrátí index prvního výskytu položky. Vrací -1 při neúspěchu.
  • Insert(index, položka) - Vloží položku na daný index v Listu.
  • InsertRange(index, kolekce) - Vloží prvky dané kolekce na daný index v Listu.
  • Intersect(kolekce) - Vrátí průnik Listu se zadanou kolekcí.
  • Last() - Vrátí poslední element.
  • LastIndexOf(položka) - Vrací index posledního výskytu položky v Listu. Vrací -1 při neúspěchu.
  • Max() - Vrátí největší prvek.
  • Min() - Vrátí nejmenší prvek.
  • Remove(položka) - Vymaže první nalezenou položku.
  • RemoveAll(index) - Vymaže všechny prvky, které odpovídají danému predikátu.
  • RemoveAt(index) - Vymaže položku na daném indexu.
  • RemoveRange(index, počet) - Vymaže daný počet prvků od zadaného indexu.
  • Reverse() - Obrátí List tak, že je první položka poslední a naopak.
  • Skip(číslo) - Vrátí prvky od zadaného čísla do konce Listu.
  • Sort() - Setřídí položky v listu.
  • Sum() - Vrátí součet prvků.
  • Take(počet) - Vrátí prvky od začátku Listu.
  • ToArray() - Zkopíruje položky z Listu do pole a to vrátí.
  • Union(kolekce) - Vrátí průnik Listu se zadanou kolekcí.
přičtení položky do kolekce
 GameObject s = new GameObject(nahoda.Next(0, (int)GraphicsDevice.Viewport.Width - asteroid.Width), -60);
      s.rychlost = nahoda.Next(0, 100) * 0.002f;
      int velikost = nahoda.Next(50, 200);
      s.scale = velikost / 100f;
      s.obrana = velikost * 3;
      s.utok = velikost * 5;
      asteroidy.Add(s);
      
  nebo:  
  
        cesta.Add(new listVlna {pozice =new Vector2( poziceX,poziceY ),barva = Color.White});
 
AddRange
  private void button4_Click(object sender, EventArgs e)
        {
            label4.Text = "";
            
            cislo.AddRange(pole);
            foreach (var s in cislo)
                label4.Text += s.ToString() + "  ";
        }


     
 
Average
  private void button4_Click(object sender, EventArgs e)
          {
           double p = cislo1.Average();
           double pp = seznam.Average(p=>p.vek);
          }
    
 
Contains
 private void button2_Click(object sender, EventArgs e)
        {

            int cislotext = Convert.ToInt16(textBox3.Text);

            if (cislo.Contains(cislotext))
                label4.Text = "Cislo nalezeno";
            else
            {
                label4.Text = "Nenalezeno";
            }
                      
        }
     
 
CopyTo
 private void button5_Click(object sender, EventArgs e)
        {
           
            cislo1.CopyTo(pole1); // zkopíruje čislo1 do pole1 od indexu 0 a přepíše prvky 
            cislo1.CopyTo(pole1,4);// zkopíruje čslo1 do pole1 od indexu 4 a přepíše prvky 
            cislo1.CopyTo(2,pole1,5,3);  //zkopíruje 3 prvky z číslo1 od indexu 2 do pole1 od indexu 5 a přepíše prvky 
        }
         
Distinct
      cislo=cislo.Distinct().ToList();
   
Find
     private void button15_Click(object sender, EventArgs e)
       {
           Class1 vysledek = seznam.Find(p => p.vek > 20);
           Class1 text = seznam.Find(p1 => p1.jmeno=="červený");
           int vysledek1 = cislo1.Find(pp => pp < 30);
           List vysledek3 = cislo1.FindAll(ppp => ppp > 30);
           int index = seznam.FindIndex(p2 => p2.jmeno == "Vašek");
           Class1 najdi = seznam.FindLast(p3=>p3.jmeno=="Aja");
           int lastIndex = cislo1.FindLastIndex(p4 => p4 >40);
           
           label4.Text = vysledek.vek + " " + vysledek1+" "+index;
           foreach (var o in vysledek3)
               label4.Text += " " + o;
       }
    
Indexof LastIndexOf
 private void button8_Click(object sender, EventArgs e)
        {
           
            int p = seznam.LastIndexOf(15);
            int pp = seznam.IndexOf("jan");
        }
        
                
         
Insert , InsertRange a Concat
 private void button8_Click(object sender, EventArgs e)
        {
            Class1 s = new Class1();
            s.jmeno = "jan";
            s.vek = 12;
          
            seznam.Insert(2,s);
            
            string[] authors = { "Mike Gold", "Don Box", "Sundar Lal", "Neel Beniwal" };
                       
            autori.InsertRange(4, authors);
            
            seznam.InsertRange(2, seznam1);
            
            List  <int> pokus44 =new List<int>(); 
            pokus44=  cislo.Concat(cislo1).ToList() ;
        }
        
        
         
Interset a Union
 private void button12_Click(object sender, EventArgs e)
       {
           List<int> vysledek = new List<int>(cislo.Intersect(cislo1));
          foreach (var pp in vysledek)
               label4.Text += pp.ToString() + "  ";



          List<int> vysledek1 = new List<int>(cislo.Union(cislo1));
          foreach (var pp in vysledek1)
              label4.Text += pp.ToString() + "  ";
       }
        
        
         
Max a Min
 private void button13_Click(object sender, EventArgs e)
       {
           int vysledek1 = cislo.Min();
           int vysledek2 = seznam.Max(p => p.vek);
           label4.Text =  vysledek1 + " " + vysledek2;
       }
        
         
remove
 public void button9_Click(object sender, EventArgs e)
        {           
            cislo.Remove(44);
            seznam.RemoveAt(2);
            cislo1.RemoveRange(1, 2);
            
            seznam.RemoveAll(p => p.vek > 20); 
          
        }
        
         
Take a Sum
  private void button14_Click(object sender, EventArgs e)
       {
           int vysledek = cislo.Sum();
           int vysledek1 = seznam.Sum(p => p.vek);

           label4.Text = vysledek.ToString()+" "+vysledek1;
           var pole = cislo1.Take(5);
           foreach (var pp in pole)
               label4.Text += "take  "+pp.ToString();

       }
      
ToArray
 private void button10_Click(object sender, EventArgs e)
       {
           int[] r = cislo1.ToArray();
           foreach (var s in r)
               label4.Text += s.ToString() + "  ";
       }
                
         
pravy Ascii tabulka
Barvy
Klávesové zkratky


©2013-2021 Trojklik.8u.cz Autor: Vašek D.