Jelkészlet
C#-ban a programok karakterkészlete
az Unicode Standard
3.0-ás szabványban foglaltakkal azonos. (Ennek ellenére a Microsoft az
UTF-8-as
kódolást javasolja inkább.). A lexikális elemek lényegében megegyeznek a C++-ban
használtakkal. Új elem
az Unicode szekvencia, mellyel
Unicode karaktereket ábrázolhatunk:
'\uXXXX', ahol X egy-egy
hexadecimális számjegy.
Azonosítók
Az azonosító nevének választásakor a C#-nyelvben a következő szintaktikai szabályokat
kell betartanunk:
- Csak kis- és nagybetűk, számok és aláhúzás-karakter lehet a névben.
- A neveknek betűvel vagy aláhúzás-karakterrel kell kezdődniük.
Az azonosítókat az Unicode 3.0 szabvány ajánlásának megfelelően
kell írni, ide értve az Unicode szekvenciákat is. Használható még az aláhúzás karakter
(_) is.
Érdekesség, hogy a kulcsszavak a @ bevezető jellel használhatóak
azonosítóként is (például: @bool). Ez a jel azonosítót
nem vezethet be. Megjegyzés: ezt a lehetőséget a programok hordozhatósága
illetve "átjárhatósága" miatt vezették be. A @ prefixű szimbólumok neve valójában
@ nélkül kerülnek fordításra. Így attól függetlenül, hogy egy másik nyelv nem tartalmazza
például sealed kulcsszót, és egy programban azonosítóként használják,
C#-ban lehetőség van az azonosító közvetlen használatára.
Kulcsszavak:
abstract, as, base, bool, break,
byte,case, catch, char, checked, class,
const, continue, decimal, default, delegate,
do, double, else, enum, event, explicit, extern, false, finally,
fixed, float, for, foreach, goto, if, implicit, in, int,
interface, internal, is, lock, long, namespace, new, null,
object, operator, out, override, params,
private, protected, public, readonly, ref, return, sbyte,
sealed, short, sizeof, stackalloc, static, string, struct,
switch, this, throw, true, try, typeof, uint, ulong, unchecked,
unsafe, ushort, using, virtual, void ,while
A kulcsszavakban nem használható Unicode szekvencia: a cl\u0061ss
ebben a formában hibás.
Literálok
- Egész számok:
- Számrendszerek:
- 10-es számrendszer:
Nem 0-val kezdődő számjegy sorozat
Azaz {123456789}[{0123456789}]
pl.: 10, 9876543210
- 8-as számrendszer:
0-val kezdődő számjegy sorozat
Azaz 0[{0123456789}]
pl.: 010, 07654321
- 16-os számrendszer:
0x-el kezdődő számjegyekből és az A, B, C, D, E, F betűkből álló sorozat
Azaz 0x[{0123456789abcdefABCDEF}]
pl.: 0x10, 0xFEDCBA9876543210
- Számábrázolás:
- int és long különbsége:
'L' a literál végén
pl. 2 vagy 2L
- előjel nélkül (uint):
'U' a literál végén
pl. 2 vagy 2U
- Valós számok (lebegőpontosak):
Szokásos módon tizedesponttal leírt valós számok, amelyek a végükön tartalmazhatnak
exponenst is.
Azaz [-]számjegy{számjegy}.számjegy{számjegy}[E[+|-]számjegy{számjegy}], ahol a
számjegy = {0123456789}.
pl.: 1.0, 6E23, -1.2E-3
Megjegyzések
A megjegyzéseket a megszokott
//... , /*
... */ forma használható. Emellett a
///
... egysoros dokumentációs megjegyzések
is elhelyezhetők.
Ezeket a dokumentációs megjegyzéseket
az
XML szabványnak megfelelően kell (célszerű) írni, hogy a dokumentáció
készítő segédprogram megfelelően tudja kezelni.