Zdravím a předem se omlouvám - téma nespadá do zaměření Webu. Ale stále častěji se zde otíráme o jazyk C# a více či méně se ukazuje, že nemůže být na škodu nahlédnout i pod pokličku tohoto Microsoftem dost preferovaného jazyka. Měl bych proto jednu prosbu k autorům stránek - nebylo-li by možno do diskusních fór doplnit i skupinu pro dotazy směřované na tento jazyk - myslím, že jich postupem doby bude přibývat. A současně bych poprosil o shovívavost s mými banálními dotazy (leč prozatím jsem se vybavoval pouze literaturou zaměřenou na VB a knihy o C# mi jaksi v knihovně scházejí, takže než se jimi vybavím...): Měl bych 2 dotazy. S pomocí hlavně článku pana Linharta jsem se chtěl pustit do našich VB lekcí z rubruky "začínáme", leč narazil jsem hned na začátku na úplnou trivialitu. Jak v C# provést prachobyčejnou konverzi typu dat? Zkoušel jsem najít analogické řešení pro úplně první příklad seriálu článků, kde je jednoduchý výpočet
TextBox3.text=CInt(textbox1.text)+CInt(textbob2.text)
bohužel jsem zjistil, že C# není nadáno takovým stupněm "vnitřní" inteligence jako VB a že si tedy odmítá fůru věcí "domýšlet" sám. Zkusil jsem tedy konverzi dle pana Linharta, leč zápis
...(int)textBox1.text ....
mi to nebere s tím, že převod String na Int není možný. Po delším bloumání jsem došel ke vztahu
textBox3.Text = Convert.ToString(Convert.ToInt32(textBox1.Text)+Convert.ToInt32(textBox2.Text)) ;
kterýžto zápis mi sice funguje, leč připadá mi na tu trivialitu, kterou řeší, až příliš ukecaným a komplikovaným. Protože se jedná o velice častou úlohu, rád bych se zeptal, jak to má vypadat správně? Druhý dotaz se týká zápisu
this.button1.Click += new System.EventHandler(this.button1_Click);
co tento zápis vlastně představuje. Ne nejde mi o jednoduchou funkcionalitu, spíše o formální tvar tohoto zápisu. Je mi jasné, že tímto zápisem přidám tlačítku obsluhu jeho události "Click", ale jak chápat formát toho zápisu. Je to pouze nějaký syntaktický úzus a s pravou podstatou matematického operátoru += to nemá nic společného, nebo lze zápis chápat tak, že mohu k jedné události přiřadit i více obslužných kódů, nějak jako:
this.button1.Click += new System.EventHandler(this.button1_Click1);
this.button1.Click += new System.EventHandler(this.button1_Click2);
A lze zase naopak obsloužit více událostí jedním kódem (to předpokládám, že by jít mělo):
this.button1.Click += new System.EventHandler(this.buttons_Click);
this.button2.Click += new System.EventHandler(this.buttons_Click);
?
|