en es es en en en en en en en en en en en en en ka ka ka ka en en en en ka ka en ka en kn en en en en en en en en ur en en en en it en en en en en sv en en en en en en en en en en en en en en en en az en en en en en en en en en en en en en en en en ca en en en en en en en en en en fr en en el en en en en en en en en en en en en en en en en en en en en en en en en en en es de te en zh pl en en en en es en en en en en en en ka ka si en ne hi en ka ka ka it ka ka en ka zh ka ka ka ka ka en nl en en en en en en en en en en tl en en en en en en en en en en en de en en en en en en en
Hello world explained - The complete C# tutorial
Download PDF + Code samples
Download this entire tutorial as PDF, plus all the code samples, right now!
Working with Dates & Time
Implicitly typed variables (the var keyword)
LINQ: Query Syntax vs. Method syntax
Filtering data: the Where() method
Sorting data: the OrderBy() & ThenBy() methods
Limiting data: the Take() & Skip() methods
Data transformations: the Select() method
Grouping data: the GroupBy() Method
Working with Culture & Regions
Application Culture & UICulture
Searching with the Regex Class
Search/Replace with the Regex Class
Randomness with the Random class
Starting applications with the Process class
Stepping through the code
Introduction to XML with C#
Reading XML with the XmlReader class
Reading XML with the XmlDocument class
Working with the XmlNode class
Using XPath with the XmlDocument class
Writing XML with the XmlWriter class
Writing XML with the XmlDocument class
Introduction to C# 3.0
Reading and writing files
Manipulating files and directories
File and directory information
A Reflection based settings class
This article is currently in the process of being translated into Georgian (~99% done).
If you are fluent in Georgian, then please help us - just point to any untranslated element (highlighted with a yellow left border - remember that images should have their titles translated as well!) inside the article and click the translation button to get started. Or have a look at the current translation status for the Georgian language.
If you see a translation that you think looks wrong, then please consult the original article to make sure and then use the vote button to let us know about it.
Please help us by translating the following metadata for the article/chapter, if they are not already translated.
If you are not satisfied with the translation of a specific metadata item, you may vote it down - when it reaches a certain negative threshold, it will be removed. Please only submit an altered translation of a metadata item if you have good reasons to do so!
Please login to translate metadata! Already logged in? Please try reloading the page!
Looking for the original article in English?
წინა თავში, ჩვენს პირველ C#-ის აპლიკაციაში, კონსოლში ტექსტის გამოტანას ვცდილობდით. იმისათვის რომ შედეგი დაგვენახა, თითოეული ხაზი დეტალურად აღარ განგვიხილავს, ასე რომ ამ თავში Hello world-ის მაგალითს სიღრმისეულად განვიხილავთ. ალბათ შეამჩნევდით, რომ კოდში ზოგიერთი ხაზი ერთმანეთს გავს, ასე რომ, კოდს ჯგუფებად დავყოფთ და თითოეული მათგანისთვის ინდივიდუალურ განმარტებას შემოგთავაზებთ. მოდით, ჩვენს კოდში არსებული ყველაზე მოკლე და ხშირად გამოყენებადი სიმბოლოების განმარტებით დავიწყოთ. "{" და "}". ამ სიმბოლოებს ფიგურულ ფრჩხილებს უწოდებენ და C#-ში ისინი კოდის ლოგიკური ბლოკის დასაწყისსა და დასასრულს აღნიშნავენ. ფიგურული ფრჩხილები სხვა მრავალ ენაშიც გამოიყენება, მათ შორის არიან: C++, Java, JavaScript და ა.შ. როგორც ხედავთ, ისინი კოდის იმ ნაწილს შემოსაზღვრავენ რომელიც ერთ ლოგიკურ ნაწილს მიეკუთვნება. მომდევნო მაგალითებში კიდევ უფრო ნათელი გახდება თუ როგორ უნდა გამოვიყენოთ ისინი.
მოდით ახლა თავიდან დავიწყოთ:
using საკვანძო სიტყვაა, რომელსაც ტექსტური რედაქტორი (Visual Studio) ლურჯი ფერით აღნიშნავს. using საკვანძო სიტყვას შემოაქვს სახელთა სივრცე (namespace). სახელთა სივრცე კლასების კოლექციაა. კლასები რაღაც სახის ფუნქციონალს გვთავაზობენ, და როდესაც ისეთი მაღალი დონის IDE-ს ვიყენებთ როგორიც არის Visual Studio, როგორც წესი ის ტრივიალური კოდის რაღაც ნაწილს ავტომატურად გვიწერს. ამ შემთხვევაში, მან შექმნა კლასი და შემოიტანა სახელთა სივრცეები, რომლებიც საჭიროა ან მოსალოდნელია რომ ხშირად დაგვჭირდება. ამ კონკრეტულ სიტუაციაში, 5 სახელთა სივრცე არის შემოტანილი, რომელთაგან თითოეული უამრავ საჭირო ფუნქციონალს მოიცავს. მაგალითად, ჩვენ ვიყენებს Console კლასს, რომელიც System სახელთა სივრცის ნაწილია.
მეორე მხრივ, მაგალითად, ჩვენ ჯერჯერობით არ ვიყენებთ System.Linq სახელთა სივრცეს, ასე რომ თუ იდეალისტი ბრძანდებით შეგიძლიათ ეს ხაზი მოაშოროთ, მაგრამ ეს ამ ეტაპზე დიდ სხვაობას არ მოგცემთ.
როგორც ხედავთ, ჩვენ საკუთარი სახელთა სივრცეც გვაქვს.
ConsoleApp1 სახელთა სივრცე ჩვენი აპლიკაციის მთავარი სახელთა სივრცეა და ახალი კლასები მასში ავტომატურად გაწევრიანდებიან. ცხადია, თქვენ შეგიძლიათ რომ ეს შეცვალოთ და ახალი კლასი სხვა სახელთა სივცეში შექმნათ. ასეთ შემთხვევაში, აპლიკაციაში თქვენ მიერ შექმნილი ახალი კლასის გამოყენებისას სახელთა სივრცის შემოტანა მოგიწევთ, using გამოსახულების გამოყენებით, ისევე როგორც სხვა სახელთა სივრცეები შემოგაქვთ.
შემდეგ ჩვენ განვსაზღვრავთ კლასს. იქიდან გამომდინარე, რომ C# ობიექტზე ორიენტირებული პროგრამირების ენაა, კოდის თითოეული ხაზი, რომელიც რეალურად რამეს აკეთებს კლასის შიგნით უნდა იყოს მოქცეული. ამ შემთხვევაში, კლასს უბრალოდ Program-ი ჰქვია.
ერთ ფაილში რამდენიმე კლასი შეიძლება არსებობდეს. ამჟამად, მხოლოდ ერთი კლასი გვჭირდება. კლასი შეიძლება შეიცავდეს ცვლადებს (variables), თვისებებს (properties) და მეთოდებს (methods). ამ კონცეფციებს მოგვიანებით სიღრმისეულად გავივლით. ამჯერად რისი ცოდნაც გჭირდებათ ისაა, რომ ჩვენი კლასი მხოლოდ ერთ მეთოდს შეიცავს და მეტს არაფერს. ის ასეთი სახით არის გამოცხადებული:
static void Main(string[] args)
ეს ხაზი, ალბათ, ამ მაგალითში ყველაზე რთული ნაწილია, ამიტომ მოდით ნაწილებად დავხლიჩოთ. პირველი სიტყვა არის static. static საკვანძო სიტყვა იმას გვეუბნება, რომ ეს მეთოდი კლასის ობიექტის შექმნის გარეშე იქნება ხელმისაწვდომი. ამაზე უფრო მეტს კლასებისთვის მიძღვნილ თავში ვისაუბრებთ.
შემდეგი საკვანძო სიტყვა არის void, ის გვეუბნება თუ რას უნდა აბრუნებდეს ეს მეთოდი. მაგალითად, ეს შეიძლება იყოს მთელი რიცხვი ან ტექსტი, მაგრამ ამ შემთხვევაში, არ გვინდა რომ ჩვენი მეთოდი რამეს აბრუნებდეს (C# "არაფრის" აღსანიშნავად void საკვანძო სიტყვას იყენებს) .
შემდეგი სიტყვა არის Main, რაც უბრალოდ ჩვენი მეთოდის სახელია. ეს მეთოდი ჩვენი აპლიკაციის, ასე ვთქვათ, საწყისი წერტილია, ეს არის შესასრულებელი კოდის პირველი ნაწილი, და ჩენს შემთხვევაში ერთადერთი ნაწილი რომელიც უნდა შესრულდეს.
მეთოდის სახელის შემდეგ მრგვალ ფრჩხილებში არგუმენტების ჩამონათვალი შეგიძლიათ მიუთითოთ. ჩვენს მაგალითში, ეს მეთოდი მხოლოდ ერთ არგუმენტს იღებს რომელსაც args ჰქვია. არგუმენტის ტიპი არის string, უფრო სწორად ეს არის string-ების მასივი, მაგრამ ამის შესახებ მოგვიანებით ვისაუბროთ. თუ დავფიქრდების, ეს საკმაოდ ჭკვიანურია, რამდენადაც Windows აპლიკაციებს გამოძახების დროს შესაძლოა სხვადასხვა რაოდენობის არგუმენტები გადავცეთ. ეს არგუმენტები ჩვენს მთავარ ფუნქციას ტექსტების სახით გადმოეცემა.
და სულ ეს არის. ახლა თქვენ ჩვენი პირველი C#-ის აპლიკაციის შესახებ ძირითადი წარმოდგენა შეგექმნათ და ასევე იმის შესახებ თუ როგორ მუშაობს კოსოლის აპლიკაცია.
This article has been fully translated into the following languages:
Is your preferred language not on the list? Click here to help us translate this article into your language!