TOC

This article is currently in the process of being translated into Georgian (~99% done).

Getting started:

Hello world explained

წინა თავში, ჩვენს პირველ C#-ის აპლიკაციაში, კონსოლში ტექსტის გამოტანას ვცდილობდით. იმისათვის რომ შედეგი დაგვენახა, თითოეული ხაზი დეტალურად აღარ განგვიხილავს, ასე რომ ამ თავში Hello world-ის მაგალითს სიღრმისეულად განვიხილავთ. ალბათ შეამჩნევდით, რომ კოდში ზოგიერთი ხაზი ერთმანეთს გავს, ასე რომ, კოდს ჯგუფებად დავყოფთ და თითოეული მათგანისთვის ინდივიდუალურ განმარტებას შემოგთავაზებთ. მოდით, ჩვენს კოდში არსებული ყველაზე მოკლე და ხშირად გამოყენებადი სიმბოლოების განმარტებით დავიწყოთ. "{" და "}". ამ სიმბოლოებს ფიგურულ ფრჩხილებს უწოდებენ და C#-ში ისინი კოდის ლოგიკური ბლოკის დასაწყისსა და დასასრულს აღნიშნავენ. ფიგურული ფრჩხილები სხვა მრავალ ენაშიც გამოიყენება, მათ შორის არიან: C++, Java, JavaScript და ა.შ. როგორც ხედავთ, ისინი კოდის იმ ნაწილს შემოსაზღვრავენ რომელიც ერთ ლოგიკურ ნაწილს მიეკუთვნება. მომდევნო მაგალითებში კიდევ უფრო ნათელი გახდება თუ როგორ უნდა გამოვიყენოთ ისინი.

მოდით ახლა თავიდან დავიწყოთ:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using საკვანძო სიტყვაა, რომელსაც ტექსტური რედაქტორი (Visual Studio) ლურჯი ფერით აღნიშნავს. using საკვანძო სიტყვას შემოაქვს სახელთა სივრცე (namespace). სახელთა სივრცე კლასების კოლექციაა. კლასები რაღაც სახის ფუნქციონალს გვთავაზობენ, და როდესაც ისეთი მაღალი დონის IDE-ს ვიყენებთ როგორიც არის Visual Studio, როგორც წესი ის ტრივიალური კოდის რაღაც ნაწილს ავტომატურად გვიწერს. ამ შემთხვევაში, მან შექმნა კლასი და შემოიტანა სახელთა სივრცეები, რომლებიც საჭიროა ან მოსალოდნელია რომ ხშირად დაგვჭირდება. ამ კონკრეტულ სიტუაციაში, 5 სახელთა სივრცე არის შემოტანილი, რომელთაგან თითოეული უამრავ საჭირო ფუნქციონალს მოიცავს. მაგალითად, ჩვენ ვიყენებს Console კლასს, რომელიც System სახელთა სივრცის ნაწილია.

მეორე მხრივ, მაგალითად, ჩვენ ჯერჯერობით არ ვიყენებთ System.Linq სახელთა სივრცეს, ასე რომ თუ იდეალისტი ბრძანდებით შეგიძლიათ ეს ხაზი მოაშოროთ, მაგრამ ეს ამ ეტაპზე დიდ სხვაობას არ მოგცემთ.

როგორც ხედავთ, ჩვენ საკუთარი სახელთა სივრცეც გვაქვს.

namespace ConsoleApp1

ConsoleApp1 სახელთა სივრცე ჩვენი აპლიკაციის მთავარი სახელთა სივრცეა და ახალი კლასები მასში ავტომატურად გაწევრიანდებიან. ცხადია, თქვენ შეგიძლიათ რომ ეს შეცვალოთ და ახალი კლასი სხვა სახელთა სივცეში შექმნათ. ასეთ შემთხვევაში, აპლიკაციაში თქვენ მიერ შექმნილი ახალი კლასის გამოყენებისას სახელთა სივრცის შემოტანა მოგიწევთ, using გამოსახულების გამოყენებით, ისევე როგორც სხვა სახელთა სივრცეები შემოგაქვთ.

შემდეგ ჩვენ განვსაზღვრავთ კლასს. იქიდან გამომდინარე, რომ C# ობიექტზე ორიენტირებული პროგრამირების ენაა, კოდის თითოეული ხაზი, რომელიც რეალურად რამეს აკეთებს კლასის შიგნით უნდა იყოს მოქცეული. ამ შემთხვევაში, კლასს უბრალოდ Program-ი ჰქვია.

class Program

ერთ ფაილში რამდენიმე კლასი შეიძლება არსებობდეს. ამჟამად, მხოლოდ ერთი კლასი გვჭირდება. კლასი შეიძლება შეიცავდეს ცვლადებს (variables), თვისებებს (properties) და მეთოდებს (methods). ამ კონცეფციებს მოგვიანებით სიღრმისეულად გავივლით. ამჯერად რისი ცოდნაც გჭირდებათ ისაა, რომ ჩვენი კლასი მხოლოდ ერთ მეთოდს შეიცავს და მეტს არაფერს. ის ასეთი სახით არის გამოცხადებული:

static void Main(string[] args)

ეს ხაზი, ალბათ, ამ მაგალითში ყველაზე რთული ნაწილია, ამიტომ მოდით ნაწილებად დავხლიჩოთ. პირველი სიტყვა არის static. static საკვანძო სიტყვა იმას გვეუბნება, რომ ეს მეთოდი კლასის ობიექტის შექმნის გარეშე იქნება ხელმისაწვდომი. ამაზე უფრო მეტს კლასებისთვის მიძღვნილ თავში ვისაუბრებთ.

შემდეგი საკვანძო სიტყვა არის void, ის გვეუბნება თუ რას უნდა აბრუნებდეს ეს მეთოდი. მაგალითად, ეს შეიძლება იყოს მთელი რიცხვი ან ტექსტი, მაგრამ ამ შემთხვევაში, არ გვინდა რომ ჩვენი მეთოდი რამეს აბრუნებდეს (C# "არაფრის" აღსანიშნავად void საკვანძო სიტყვას იყენებს) .

შემდეგი სიტყვა არის Main, რაც უბრალოდ ჩვენი მეთოდის სახელია. ეს მეთოდი ჩვენი აპლიკაციის, ასე ვთქვათ, საწყისი წერტილია, ეს არის შესასრულებელი კოდის პირველი ნაწილი, და ჩენს შემთხვევაში ერთადერთი ნაწილი რომელიც უნდა შესრულდეს.

მეთოდის სახელის შემდეგ მრგვალ ფრჩხილებში არგუმენტების ჩამონათვალი შეგიძლიათ მიუთითოთ. ჩვენს მაგალითში, ეს მეთოდი მხოლოდ ერთ არგუმენტს იღებს რომელსაც args ჰქვია. არგუმენტის ტიპი არის string, უფრო სწორად ეს არის string-ების მასივი, მაგრამ ამის შესახებ მოგვიანებით ვისაუბროთ. თუ დავფიქრდების, ეს საკმაოდ ჭკვიანურია, რამდენადაც Windows აპლიკაციებს გამოძახების დროს შესაძლოა სხვადასხვა რაოდენობის არგუმენტები გადავცეთ. ეს არგუმენტები ჩვენს მთავარ ფუნქციას ტექსტების სახით გადმოეცემა.

და სულ ეს არის. ახლა თქვენ ჩვენი პირველი C#-ის აპლიკაციის შესახებ ძირითადი წარმოდგენა შეგექმნათ და ასევე იმის შესახებ თუ როგორ მუშაობს კოსოლის აპლიკაცია.