Параметрийг холбоосоор ба утгаар дамжуулах. Гаралтын параметрүүд.

C# -д аргад параметрийг утгаар ба холбоосоор дамжуулах гэсэн хоёр арга байдаг.

Параметрийг утгаар дамжуулах

Параметрийг дамжуулах хамгийн энгийн арга бол утгаар нь дамжуулах юм. Энэ бол параметрийг дамжуулах ердийн арга.

void Increment(int n)
{
    n++;
    Console.WriteLine($"Increment аргад дамжуулсан параметрийн утга: {n}");
}

int number = 5;
Console.WriteLine($"Increment аргын өмнөх number хувьсагч: {number}");
Increment(number);
Console.WriteLine($"Increment аргын дараах number хувьсагч: {number}");

Консолийн гаралт

Материалыг тусгай эрхтэй хэрэглэгч үзнэ.

request_quoteТусгай эрх авах

Мэдээлэл таалагдсан бол найзуудтайгаа хуваалцаарай.

  Нээгдсэн тоо: 1693 Бүртгүүлэх

Өмнөх хичээлээс бид C# хэлний өгөгдлийн бүх төрлүүд утгаар (өөрөөр хэлбэл бүтцээр "struct") болон холбоосоор (өөрөөр хэлбэл классаар "class") өгөгдөх төрлүүдэд хуваагдахын дээр бас энгийн ба энгийн бус гэсэн ангилалтайг мэдэж авсан.
Энэ хичээлээр бид төрлүүд ямар үндсэн хэсгээс бүрддэг эдгээр хэсгүүд өөр хоорондоо хэрхэн харьцдаг талаар авч үзнэ. Хичээлд Өгөгдлийн төрлүүд хичээлийн жишээг ашиглах болно. C# хэлний өгөгдлийн ямарч төрөлд тэдний ямар ангилалд багтахаас үл хамааран дараах гишүүдтэй байж болно. Үүнд:

  1. Талбарууд /fields/ - Энд төрөлд удирдаж байх өгөгдлүүд хадгалагдана.
  2. Аргууд /Methods/ - Төрөл өөрийн талбарууд болон бусад өгөгдлүүд дээр хийж болох үйлдлүүд.
  3. Шинжүүд /Properties/ - Энэ бол төрлийн талбаруудтай илүү эвтэйхэн хандан ажиллах тусгай хэрэгсэл
  4. Үйл явдлууд /Events/ - Энэ нь төрөл өөртөө орсон өөрчлөлтийг бусад төрлүүдэд мэдэгдэх тусгай хэрэгсэл.
  5. Төрлийн байгуулагч /Constructor/ - Шинэ төрлийг үүсгэхэд дуудагдах тусгай арга.

  Нээгдсэн тоо: 465 Төлбөртэй

Арга утга эсхүл ямар нэгэн үр дүнг буцааж болно. Өмнөх хичээлүүдэд тодорхойлсон аргууд void төрлийн буюу ямар нэгэн утга буцаахгүйгээр тодорхой үйлдлүүдийг хийж байсан. Аргаас утга буцаахдаа return операторийг хэрэглэх бөгөөд операторийн араас буцаах утгыг өгдөг.

return буцаах_утга;

Жишээ нь string төрлийн утга буцаах аргыг тодорхойльё.

string GetMessage()
{
    return "Hello";
}

GetMessage аргын тодорхойлолтод string төрлийг заасан учраас арга мөр буцаах ёстой. Иймээс аргын биед return операторийг ашиглаад араас нь буцаах мөрийг заасан.

  Нээгдсэн тоо: 507 Төлбөртэй

Боловсруулагчид C# дээр програм зохиохдоо голдуу Visual Studio эсхүл ямар нэгэн JetBrains компаний Rider мэтийн IDE (integrated development environment) боловсруулалтын хэрэгслийг ашигладаг. Гэхдээ бүхий л IDE -нууд боловсруулалтын ажиллагааг хөнгөвчилж өгдөг ч програм үүсгэх ажиллагааны олон жижиг зүйлүүдийг цаанаа хийдэг. Үнэн хэрэгтэй бид зөвхөн .NET CLI -ийн боломжийг ашиглан боловсруулалтын орчингүйгээр ажиллах боломжтой.

  Нээгдсэн тоо: 451 Төлбөртэй

Удамшилт (inheritance) бол ОХП -ийн үндсэн ойлголтуудын нэг. Удамшилтаар нэг класс өөр классийн ажиллагаануудыг өвлөх /дамжуулан авах/ боломж бүрддэг. Бидэнд хүнийг тодорхойлох

class Person
{
    private string _name = "";
 
    public string Name
    {
        get { return _name; }
        set { _name = value; }
    }
    public void Print()
    {
        Console.WriteLine(Name);
    }
}

Person класс байлаа гэе. Гэтэл бидэнд компаний ажилтанг тодорхойлох Employee класс хэрэгтэй боллоо гэж үзье. Компаний ажилтан хүн учраас Employee класс Person классийн хийдэг үйлдлүүдийг хийх болно.

Үйл явдал /event/ тодорхой үйлдэл хийгдсэн талаар системд мэдэгддэг. Хэрвээ бид энэхүү үйлдлийг ажиглах хэрэгтэй бол яг энд…

Нээгдсэн тоо : 370

 

Манай төсөл олон хуудсуудтай болон тэдгээрийн хооронд динамикаар шилжилт хийж байгаа ч тухайн үед шилжилт хийгдсэн хуудаст тохирох…

Нээгдсэн тоо : 465

 

Зочин (Visitor) паттерн классуудыг өөрчлөхгүйгээр тэдгээрийн обьектуудын үйлдлийг тодорхойлох боломжийг олгоно. Зочин хэвийг ашиглахдаа классуудын хоёр ангилалыг тодорхойлно.…

Нээгдсэн тоо : 443

 

Лямбда-илэрхийлэл нь нэргүй аргын хураангуй бичилтийг илэрхийлнэ. Лямбда-илэрхийлэл утга буцаадаг, буцаасан утгыг өөр аргын…

Нээгдсэн тоо : 516

 

Кодийн сайжруулалт /рефакторинг/ хичээлээр програмийн кодоо react -ийн зарчимд нийцүүлэн компонентод салгасан.…

Нээгдсэн тоо : 583

 

Хадгалагч (Memento) хэв обьектын дотоод төлвийг түүний гадна гаргаж дараа нь хайрцаглалтын зарчмыг зөрчихгүйгээр обьектыг сэргээх боломжийг олгодог.

Нээгдсэн тоо : 577

 

Делегаттай нэргүй арга нягт холбоотой. Нэргүй аргуудыг делегатийн хувийг үүсгэхэд ашигладаг.
Нэргүй аргуудын тодорхойлолт delegate түлхүүр үгээр…

Нээгдсэн тоо : 719

 

Математикт харилцан урвуу тоонууд гэж бий. Ямар нэгэн тооны урвуу тоог олохдоо тухайн тоог сөрөг нэг зэрэг дэвшүүлээд…

Нээгдсэн тоо : 859

 

Төсөлд react-router-dom санг оруулан чиглүүлэгчдийг бүртгүүлэн тохируулсан Санг суулган тохируулах хичээлээр бид хуудас…

Нээгдсэн тоо : 849

 
Энэ долоо хоногт

тэнцэл бишийг бод.

Нээгдсэн тоо : 1427

 

B(5;3) цэгт төгсгөлтэй AB вектор (3;1) гэсэн кординаттай бол A цэгийн абцисс, ординатын нийлбэрийг ол.

Нээгдсэн тоо : 747

 

prob14_84_01 функцийн хязгаарыг ол.

Нээгдсэн тоо : 251