Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma

Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma
Ú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.