Типларни ўзгартириш
Амалиётда кўп ҳолларда типларни ўзгартиришга тўғри келади. С# да типларни ўзгартиришнинг 2 хил кўриниши бўлиб ошкормас ва ошкор.
Ошкормас тип алмаштириш қиймат ўзлаштирилаётганда автоматик амалга оширилади. Масалан, int ёки short типига мансуб қиймат long типига мансуб ўзгарувчига берилганда. Қуйидаги мисолда int қийматлар йиғиндиcи long типига ўзлаштириляпти:
int a=34;
int b=45;
long c =a + b;
Console.WriteLine("c=" + c);
long типи int типига нисбатан байтлар сони кўп бўлганлиги учун бу ерда хатолик бўлмайди. Қуйидаги жадвалда C# тилидаги ошкормас алмаштиришлар келтирилган:
sbyte
|
short, int, long, float, double, decimal
|
byte
|
short, ushort, int, uint, long, ulong, float, double, decimal
|
short
|
int, long, float, double, decimal
|
ushort
|
int, uint, long, ulong, float, double, decimal
|
int
|
long, float, double, decimal
|
uint
|
long, ulong, float, double, decimal
|
long, ulong
|
float, double, decimal
|
float
|
double
|
char
|
ushort, int, uint, long, ulong, float, double, decimal
|
|