203lec2
- 2. C# / Session 1 / 2 of 45
Агуулга
Үндсэн төрлүүд (тогтмол, хувьсагч,
илэрхийлэл)
Үйлдлүүд (энгийн, арифметик, жиших,
нөхцөлт, логик үйлдэл, үйлдлийн зэрэглэл)
- 3. C# / Session 1 / 3 of 45
WriteLine( )
Дээрх жишээнд WriteLine методын өөр нэг хэлбэрийг
ашигласан байна. Энэ жишээнд WriteLine метод нь 2
параметр хүлээн авах ба эхний параметр нь өгөгдлийг
хэвлэх форматыг “Initialized, myInt: {0}” хэлбэртэй гэж
тодорхойлно, хоёр дахь нь хэвлэгдэх хувьсагчийн нэр.
Энд {0} бичиглэл нь эхний хувьсагч гэдгийг заана.
- 4. C# / Session 1 / 4 of 45
Үндсэн төрлүүд
C# хэлэнд объект бүрийн төрлийг заавал тодорхой заах
ёстой. Ингэснээр хөрвүүлэгч тухайн объектод тохирсон
утгыг оноохыг шаарддаг, энэ нь мөн алдаа гаргахаас
сэргийлдэг. Өгөгдлийн төрөл нь хөрвүүлэгчид тухайн
объектын хэмжээ (жишээ нь, int төрөл нь 4 байт объектыг
заана), авируудыг мэдээлдэг (жишээ, Button нь зурах,
дарах гэх мэт авиртай).
- 5. C# / Session 1 / 5 of 45
Үндсэн төрлүүд
C# хэлэнд орчин үеийн хэлэнд байвал зохих бүх үндсэн
төрлүүд байдаг бөгөөд эдгээр нь харгалзан .NET CLS төрөл
рүүгээ бууж байдаг. C# төрлийг .NET рүү харгалзуулсан
буулгалт нь C# дээр үүсгэгдсэн объект өөр хэл дээр
үүсгэгдсэн объекттой харилцан ажиллах боломжийг
олгодог.
- 6. C# / Session 1 / 6 of 45
Үндсэн төрлүүд
Хувьсагчдыг дараах төрөлд ангилдаг.
Үндсэн төрөл (value type)
- int, char , structures
Заалт төрөл (reference type)
- classes, interfaces, arrays, strings
Заагч төрөл (pointer type)
- 7. C# / Session 1 / 7 of 45
Өгөгдлөө стект хадгалдаг.
Заалт төрлийн хувьсагчийн хаяг нь
стект байрлана, харин жинхэнэ
объект нь санах ойн төрлийн нэг
мужид байрладаг.
Үндсэн төрлүүд
Value Types
Reference Types
- 8. C# / Session 1 / 8 of 45
Үндсэн төрөл (Value type)
Энэ төрөл хувьсагчдыг шууд оноож болдог.
System.ValueType классаас гаргаж авдаг.
Тоо, цагаан толгой, бутархай тоонуудыг тус тусад нь int,
char, float хэлбэрээр хадгалдаг. Жишээ нь, int төрлийг
зарлахад систем утгаа хадгалахын тулд санах ойд
хуваарилдаг.
- 9. C# / Session 1 / 9 of 45
C# өгөгдлийн үндсэн төрлүүд
Төрөл Хэмжээ(байт) .NET төрөл Тодорхойлолт
byte 1 Byte Байт, 0-255
char 1 Char Юникод тэмдэгт
bool 1 Boolean true эсвэл false
sbyte 1 Sbyte Тэмдэгтэй байт, -128 - 127
short 2 Int16 Бага бүхэл тоо (-32768 - 32767)
ushort 2 Uint16 Тэмдэггүй бага бүхэл тоо, 0 -ээс 216-1
int 4 Int32 Бүхэл тоо -(231-1) –ээс (231-1)
uint 4 Uint32 Тэмдэггүй бүхэл тоо, 0 -ээс 232-1
float 4 Single Бодит тоо, ±1.5*10-45 ээс ±3.4*1038
double 8 Double Давхар нарийвчлалтайбодит тоо, ±5.0*10-324 ээс
±1.7*10308
decimal 8 Decimal
28 хүртэл цифртэй, тогтмол нарийвчлалтай бутархай тоо. Энэ
нь ихэвчлэн санхүүгийн тооцоололд ашиглагддаг. m” эсвэл
“M” гэсэн дагаваруудыг хэрэглэдэг.
long 8 Int64 Их бүхэл тоо, -9,223,372,036,854,775,808 ээс
9,223,372,036,854,775,807
ulong 8 Uint64 Тэмдэггүй их бүхэл тоо, 0 ээс 0xffffffffffffffff
- 10. C# / Session 1 / 10 of 45
Үндсэн төрлөөс сонгож хэрэглэх
Ерөнхийдөө ямар хэмжээтэй бүхэл тоон төрөл (short, int
эсвэл long) сонгох вэ гэдэг нь ямар хэмжээтэй өгөгдөл
хадгалах вэ гэдгээс хамаарна. Жишээлбэл, ushort төрөл
нь 0-ээс 65535 хүртэлх тоон утгыг хадгалж чадна.
Санах ой хангалттай байгаад онцын өөр шалтгаан
байхгүй бол int төрлийг ихэнх тохиолдолд хэрэглэх нь
зүйтэй.
- 11. C# / Session 1 / 11 of 45
Үндсэн төрөл (Value type)
Тодорхой платформ дээр төрөл эсвэл хувьсагчийн хэмжээг
яг тохирч ажиллахын тулд sizeof аргыг ашигладаг.
sizeof(type) илэрхийлэл нь обьектын хадгалах хэмжээг
эсвэл байтаар бичнэ.
Жишээ нь:
- 12. C# / Session 1 / 12 of 45
Үндсэн төрөл (Value type)
using System;
namespace IncludeHelp
{
class Test
{
static void Main(string[] args)
{
Console.WriteLine("sizeof(int): {0}", sizeof(int));
Console.WriteLine("sizeof(float): {0}", sizeof(float));
Console.WriteLine("sizeof(char): {0}", sizeof(char));
Console.WriteLine("sizeof(double): {0}", sizeof(double));
Console.WriteLine("sizeof(bool): {0}", sizeof(bool));
Console.ReadLine();
}
}
}
1
- 13. C# / Session 1 / 13 of 45
Үндсэн төрөл (Value type)
using System;
class DataTypeTest
{
public static void Main()
{
int variableVal = 100;
funcTest(variableVal);
Console.WriteLine(“This value of the variable
is {0}",variableVal);
}
static void funcTest (int variableVal)
{
int tempVar = 10;
variableVal = tempVar*20;
}
}
2
- 14. C# / Session 1 / 14 of 45
Үндсэн төрөл (Value type)
using System;
namespace ToStringSamp
{
class Test
{
static void Main(string[ ] args)
{
int num1 =12;
float num2 =3.05f;
double num3 = 3.5;
bool bl = true;
Console.WriteLine(num1.ToString());
Console.WriteLine(num2.ToString());
Console.WriteLine(num3.ToString());
Console.WriteLine(bl.ToString());
}
}
}
3
- 15. C# / Session 1 / 15 of 45
Struct Type 4
Бүтэц хэлбэр нь байгуулагч, тогтмол, талбарууд,
метод, шинж чанар, индексжүүлэгч, оператор болон
бие биедээ багтсан төрлүүдийг зарладаг.
- 16. C# / Session 1 / 16 of 45
Struct Type
using System;
struct CarRec
{
public string Name;
public string Model;
public int Year;
}
class TestStructureType
{
public static void Main ()
{
CarRec rec;
rec.Name ="Honda";
rec.Model ="Accord";
rec.Year = 1999;
Console.WriteLine("Car Name: " +rec.Name);
Console.WriteLine("Car Modal: " +rec.Model );
Console.WriteLine("Car: "+rec.Year);
}
}
4
- 17. C# / Session 1 / 17 of 45
Заалт төрөл (Reference type)
Тодорхой платформ дээр төрөл эсвэл хувьсагчийн хэмжээг
яг тохирч ажиллахын тулд sizeof аргыг ашигладаг.
sizeof(type) илэрхийлэл нь обьектын хадгалах хэмжээг
эсвэл байтаар бичнэ.
Жишээ нь:
- 18. C# / Session 1 / 18 of 45
Тогтмол ба Хувьсагч
Хувьсагч гэдэг нь тодорхой төрөл бүхий санах ойн
хадгалах үүр юм. Хувьсагчид утга оноож болно мөн
тэрхүү утга нь програмын ажиллах үед өөрчлөдөнө.
Хувсагчийг зарлахдаа түүний төрөл, нэрийг зааж өгөх
ёстой. Хувьсагчийг зарлах үед түүнд анхны утгыг оноож
өгч болно.
class Values {
static void Main( ) {
int myInt = 7;
System.Console.WriteLine("Initialized, myInt: {0}", myInt);
myInt = 5;
System.Console.WriteLine("After assignment, myInt: {0}", myInt);}}