HAVIT Knowledge Base

Vývoj webových aplikací, .NET, SQL, návrh
Welcome to HAVIT Knowledge Base Sign in | Join | Help
-
Home Články Forums Obrázky Soubory

.NET Framework

Microsoft .NET Framework, Base Class Library

Programátorská hádanka - neprobádaná zákoutí C#

Víte co znamená @ v následujícím bloku kódu?

ICollection @is = dataSource as ICollection;
if (@is != null)
{
     this.Items.Capacity = @is.Count + this.Items.Count;
}
Odpověď najdete o řádku níže napsanou bílým písmem (pro odtajnění třeba označte):

>>>  Zavináč je možné použít na začátku identifikátoru, pokud chceme, aby identifikátorem mohlo být i klíčové slovo (is, null, for, ...)  <<<

...a teď se přiznejte, kdo jste to znal?

Published 30. května 2007 16:09 by Robert Haken
Filed under:

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

 

Karl said:

Dobrý, já to nevěděl, ale jsem začátečník.

Takové hádanky se mě líbí, jen tak dál :-)

května 30, 2007 17:11
 

Michal said:

Hezkyy. Priznam se, ze automaticky pro promenne klic. slova nepouzivam, nenapadlo me nikdy hledat, jeslti to jde :-)

května 30, 2007 20:14
 

Robert Haken said:

...já na to čuměl, když mi takovej kód ukázal Reflector. Docela dlouho mi dalo, než jsem našel, co to znamená, skončil jsem až v C# Language Specification.

května 30, 2007 23:40
 

Jarda Jirava said:

Sice jsem takovou konstrukci zatim nepouzil, a prestoze se nechci chlubit, vedel jsem o ni. Myslim, ze byla zminena hnedka v prvni knizce, kterou jsem o C# cetl (Zaciname programovat v C# - Eric Gunnerson), ale uz je to hoooodne davno.

Treba u T-SQL se mi dari tech klicovych slov pouzivat mnohem vice.

května 31, 2007 8:32
 

f said:

Ja sa pouzitiu 'klucovych slov' vyhybam ako cert svatenej vode (ako v C# tak v SQL). Ved existuje dost inych slov(nych spojeni) aby som tych par mohol vynechat. Tiez si myslim ze to zneprehladnuje kod ...

června 1, 2007 9:02
 

scarlaxx said:

Ja to vedel! Ale asi bych to nikdy nepouzil. V podstate je to podobne pouziti jako pascalovy zapis retezce, aby se nemusely pouzivat escape znaky. @"C:\test".

června 1, 2007 15:42
 

Petr Musil said:

Tak třeba já jsem to zrovna věděl. Ale jen proto, že jsem na to nedávno narazil v knize C# Programujeme profesionálně :))

června 4, 2007 22:23
 

JanB said:

Pokud vím, tak tohle tam není primárně z důvodu, abyste si pojmenovávali proměnnou "is", ale z důvodu možnosti výskytu takto pojmenovaného identifikátoru v nějaké knihovně, kterou používáte. A jak to může vzniknout? .NET nepodporuje jen C#, ale teoreticky neomezené množství jazyků. A každý jazyk má jiná klíčová slova. Takže je to myšlené jako záchrana pro tyto případy a nikoli pro běžné používání. I když tomu teoreticky nic nebrání.

června 30, 2007 3:24
 

Howard said:

Prakticky ten zavináč u proměnných by se dal použít, pokud je někdo například z PHP nebo MS SQL zvyklý mít u proměnných nějaký prefix jiný než písmeno.

listopadu 23, 2007 15:29
 

Robert Haken said:

...vždyť říkám, že je k ničemu. ;-))

listopadu 23, 2007 17:27

What do you think?

(required) 
(optional)
(required) 
Enter the code you see below

Submit