Локал функцууд

Өөр функцийн дотор тодорхойлогдсон функцийг локал функц гэдэг. Локал функц тухайн аргын хүрээнд хийгдэх үйлдлүүдийг агуулдаг. Локал функцийг ойлгохын тулд хоёр тоон массивийн нийлбэрийг харьцуулах Compare аргыг

void Compare(int[] numbers1, int[] numbers2)
{
    int numbers1Sum = 0;
    int numbers2Sum = 0;

    foreach (int number in numbers1)
        numbers1Sum += number;

    foreach (int number in numbers2)
        numbers2Sum += number;

    if (numbers1Sum > numbers2Sum)
        Console.WriteLine("numbers1 массивийн тоонуудын нийлбэр их");
    else
        Console.WriteLine("numbers2 массивийн тоонуудын нийлбэр их");
}

int[] numbers1 = { 1, 2, 3 };
int[] numbers2 = { 3, 4, 5, 6, 7 };

Compare(numbers1, numbers2);

гэж тодорхойльё.

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

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

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

  Нээгдсэн тоо: 752 Нийтийн

C# хэл дээр програм зохиоход бидэнд юу хэрэгтэй вэ?

  • Програмийн кодоо бичих текст засварлагч.
  • Програмийн кодийг exe өргөтгөлтэй файлд багцлах компилятор /хөрвүүлэгч/
  • Програмийн компиляц, цаашдын ажиллагаанд хэрэгтэй .NET фреймворк

хэрэгтэй.

Програмийн кодийг бичих, тестлэн зүгшрүүлэх ажиллагааг хөнгөвчлөх үүднээс ихэнхдээ тусгай боловсруулалтын орчинг ашигдладаг. Тухайлбал Visual Studio.

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

Модел-үзүүлбэр-контролер (model-view-controller) ухагдхуун 1970 оны сүүлээр гарч ирсэн. Энэ загвар Xerox PARC компаний Smalltalk төслийн үр дүн бөгөөд тухайн үедээ өмнө нь хийгдсэн байсан програмуудын хэрэглэгчийн графикийн интерфейсүүдийг зохион байгуулах хэлбэрээр гарч иржээ. Анхны MVC загварын зарим зүйлүүд Smalltalk төслийн дэлгэц, хэрэгслүүд гэх мэтийн тодорхой баримтлалтай холбоотой байсан ч илүү нэгдсэн ойлголтуудыг програмд ашиглаж байсан. Модел-үзүүлбэр-контролер паттерн веб програмчлалд маш сайн тохирдог тул ASP.NET фреймворкид загвар сайн хэрэглэгээг олсон. Гэхдээ бид энэ удаа хэвийг WPF -д ашиглахыг авч үзэх болно.
Хэвийг ерөнхийлөх талаас нь харвал бүтцийн MVC паттерн програмыг багаар бодоход 3 хэсэгт хуваана гэж ойлгож болно. Нэрнээсээ ч загвар програмыг Модел, Үзүүлбэр, Контролер гэсэн хэсгүүдэд хуваах нь харагдана.

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

Програмчлалын C# хэл хатуу төрөлжилттэй тул өгөгдөлтэй ажиллах үед null утга асуудал үүсгэх тохиолдол их. Үүнийг тооцолгүй бичигдсэн код бүр ажлын /production/ хувилбараар ажиллаж байхдаа алдаа өгөх тал бий. Кодийн тестийг хийхдээ тухайн хувьсагчид null утга олгогдох тохиолдолыг тооцохгүй байх нь ийм асуудал гарах үндсэн шалтгаан хэдий ч кодлогч энэ талаар өөрөө бодон кодлох хэрэгтэй.   

null -ийн шалгалт. Null guard /хамгаалагч/

Коддоо null утга авдаг өөрөөр хэлбэл nullable төрлийн хувьсагч болон параметрүүд ашиглах болбол NullReferenceException алдаа гарахаас сэргийлэн null -ийг шалгах хэрэгтэй. Жишээ нь

void PrintUpper(string? text)
{
    if (text!=null)
    {
        Console.WriteLine(text.ToUpper());
    }    
}

Дээрх кодод text параметр null -тэй тэнцүү биш бол мөрийн тэмдэгтүүдийг том үсэг болгох ToUpper() аргыг дуудна.

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

Загварчлалын зарчмуудын нэгээр классуудын багцуудыг үүсгэхдээ тэдгээрийн тодорхой хэрэгжүүлэлтийн бус харин интерфейсүүдийн түвшинд загварчлах хэрэгтэй гэж үздэг. Энэ тохиолдолд интерфейс гэдэгт зөвхөн interface гэсэн түлхүүр үгээр тодорхойлогдсон C# хэлний төрлийг ойлгохоос гадна ямар нэгэн тодорхой хэрэгжүүлэлт байхгүй функционал боломжуудын тодорхойлолтыг ойлгох хэрэгтэй. Өөрөөр хэлбэл энэхүү тодорхойлолтод интерфейсүүд болон тодорхой хэрэгжүүлэлт байхгүй абстракт аргуудтай байж болох абстракт классууд ч хамрагдсан гэсэн үг.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

интеграл бод

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

 

хязгаарыг бод.

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

 

утгыг ол.

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