Параметрүүдийн массив, params түлхүүр үг.

Өмнөх хичээлүүдийн бүх жишээнүүдэд тогтмол тооны параметерүүдийг ашигласан. Харин params түлхүүр үгийг ашиглан аргад тодорхойгүй тоотой параметрийг дамжуулж болно.

void Sum(params int[]  numbers)
{
    int result = 0;
    foreach (var n in numbers)
    {
        result += n;
    }
    Console.WriteLine(result);
}
 
int[] nums = { 1, 2, 3, 4, 5};
Sum(nums);
Sum(1, 2, 3, 4);
Sum(1, 2, 3);
Sum();

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

how_to_regБүртгүүлэх

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

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

Сайтад програмчлалын C# хэлний нарийн ухагдхуун, механизмуудын талаарх хичээлүүдийг нийтэлж байгаа. Энэ удаад C# дээр олон урсгалыг хэрэгжүүлэх сэдвийн хүрээнд урсгалын багц гэж юу болох түүнийг хэрхэн ашиглах тухай үзье.

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

Нэг ерөнхийлөлтэй класс өөр ерөнхийлөлтэй классаас удамшиж болно. Ингэхдээ удамшилтын төрөл бүрийн хувилбаруудыг ашиглах боломжтой.   
Бидэнд дараах суурь

class Person<T>
{
    public T Id { get;}
    public Person(T id)
    {
        Id = id;
    }
}

Person класс байлаа гэе.

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

Хувьсагч бүр тодорхой контекст эсхүл харагдах бүсдээ хүчинтэй. Энэ контекстийн гадна хувьсагч байхгүй болно.

Төрөл бүрийн контекстүүд байдаг.

  • Классийн контекст. Классийн түвшинд тодорхойлогдсон хувьсагчид энэ классийн дурын аргад хүчинтэй. Эдгээрийг глобал хувьсагид эсхүл талбарууд гэж бас нэрлэдэг.
  • Аргын контекст. Аргын түвшинд тодорхойлогдсон хувьсагчдийг локал гэх бөгөөд зөвхөн тухайн арга дотроо хүчинтэй. Өөр аргад хувьсагчид хүчингүй. Байхгүй гэсэн үг.
  • Кодийн блокийн контескт. Блокийн кодийн түвшинд тодорхойлогдсон хувьсагчид бас локал бөгөөд зөвхөн тухайн блокдоо хүчинтэй (харагдана). Өөрийн блокийн гадна тэд хүчингүй.

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

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}");

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

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

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

 

[-252; 299) завсарт орших 18 -д үлдэгдэлгүй хуваагдах тоонуудын нийлбэрийг ол.

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

 

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

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