.NET Uzbekistan
  • .NET Uzbekistan
  • C# / .NET
    • .NET ga xush kelibsiz
    • .NET bilan bog'liq mavhumliklardan qochish
    • .NET asoslari
      • MSIL
      • Memory Management
        • Stack & Heap
      • CLR
    • Basics
      • Starter (boshlang'ich)
        • Java vs C#
        • C# Tarixi
        • Kirish
        • Visual Studio 2019
        • O'zgaruvchilar
        • Ma'lumot turlari
        • Operatorlar
        • Kalit so'zlar
        • ReadLine
        • If-else
        • Switch
        • Math sinfi
        • For sikl operatori
        • While sikl operatori
        • Do-While sikl operatori
        • Foreach sikl operatori
        • Break
        • Continue
        • Goto
        • Kommentlar
      • Essential (muhim)
        • Funksiya
        • Funksiyani qiymat orqali chaqirish
        • Funksiyada Ref kalit so'zidan foydalanish
        • Funksiyada Out parametri
        • Massiv
        • Funksiyalarda massivdan foydalanish
        • Ko'p o'lchamli massiv
        • Parametrlar
        • Array sinfi
        • CMD argumentlari
        • Obyekt va Class lar
        • Konstruktor
        • Obyektni ishga tushiruvchilar
        • Destructor
        • this
        • static
        • Struct
        • Enum
        • Property va Field lar
        • Vorislik
        • Overload (Qayta yuklash)
        • Override (Qayta yozish)
        • Base
        • Polimorfizm
        • Sealed
        • Interface
        • Modifikatorlarga ruxsat berish
        • Inkapsulatsiya
        • Abstrakt class va funksiyalar
        • String
        • StringBuilder
        • String Intern Pool
        • Exception Handling
        • try/catch
        • finally
      • Professional
        • To'plamlar
          • List
          • ArrayList
          • LinkedList
          • SortedList
          • Dictionary
          • HashTable
          • Stack
          • Queue
        • Tuple
        • ValueTuple
        • Delegatlar
          • Func delegati
          • Action delegati
          • Predicate delegati
          • Anonim metodlar
        • Hodisalar
        • Extension metodlar
        • Stream I/O
          • StreamWriter
          • StreamReader
          • MemoryStream
        • File va Directory
          • FileInfo
          • DirectoryInfo
        • MultiThread va Parallel dasturlash
        • Asinxron dasturlash
        • XML Document bilan ishlash
    • LINQ asoslari
      • Average
      • LINQ qanday ishlaydi?
      • LINQ query yozish usullari
      • IEnumerable va IQuerable
      • LINQ operatorlari
      • Select
      • SelectMany
      • Filterlash operatorlari
      • Where
      • OfType
      • Saralash operatorlari
      • OrderBy va OrderByDescending
      • ThenBy va ThenByDescending
      • Reverse
      • Miqdor operatorlari
        • All
        • Any
        • Contains
        • Min
        • Max
      • Set operatsiyasi
        • Distinct
        • Except
        • Intersect
        • Union
      • Bo'lim operatorlari
        • Take
        • TakeWhile
        • Skip
        • SkipWhile
      • Join operatorlari
        • Inner Join
        • Group Join
        • Left Join
      • Element operatsiyalari
        • ElementAt
        • First va FirstOrDefault
        • Last va LastOrDefault
        • Single va SingleOrDefault
    • ORM
      • ADO.NET
      • Dapper
      • Entity Framework
        • Entity Framework Approaches(usullar)
          • Model First Approach
          • Database First Approach
          • Code First Approach
        • Query yozish usullari(Entity Framework)
          • LINQ to SQL
          • Entity SQL
          • Native SQL
        • Entity Framework Core
    • Qo'shimcha sinflar
      • System.Text
        • Encoding
      • System
        • Int32
        • Random
        • DateTime
        • TimeSpan
      • System.Reflection
    • .NET Dasturchi
      • Clean Arxitektura
        • Clean Kod
        • Dizayn Tamoyillari
          • SOLID
            • Yagona Mas'uliyat Tamoyili(SRP)
            • Ochiq Yopiq Tamoyili(O/CP)
            • Liskovning Almashtirish Tamoyili(LSP)
            • Interfeysga ajratish tamoyili(ISP)
            • Qaramlik Inversiya Tamoyili(DIP)
          • DRY
          • KISS
          • YAGNI
        • Dizayn Patternlar
          • Factory Method
          • Abstract Factory
          • Builder
          • Prototype
          • Singleton
          • Adapter
          • Bridge
          • Composite
          • Decorator
          • Façade
          • Flyweight
          • Proxy
          • Chain of Responsibility
          • Command
          • Interpreter
          • Iterator
          • Mediator
          • Memento
          • Observer
          • State
          • Strategy
          • Visitor
          • Template Method
      • Git / Github
      • Muhim terminlar
      • Postman
      • CLI
        • CMD savodxonligi
      • API dan foydalanish
      • WCF
      • Refactor .NET application
      • Unit Test
      • TDD
      • TFS
    • Desktop Dasturlash
      • WPF (Windows Presentation Foundation)
        • WPF ga kirish
          • WPF ning ustunliklari
          • WPF da dastur
          • WPF arxitetkturasi
          • Klasslar iorarxiyasi
        • XAML
          • XAML asoslari
          • XAML orqasida kod
          • XAML xususiyatlari
          • XAML belgilash kengaytmalari
          • Biriktirilgan xususiyatlar
          • XAML da hodisalar
          • XAML da nomlar fazosi
        • WPF ilovasini tuzish
          • Komponovka
          • StackPanel
          • WrapPanel
          • DockPanel
          • Grid
          • GridSplitter
          • Umumiy o'lchamli guruhlar
          • Canvas
          • LnkCanvas
          • Komponovkaga misollar
        • Bog'liqlik xususiyatlari (Dependency property)
          • Bog'liqlik xususiyatlari
          • Bog'liqlik xususiyatlarining roli
          • Bog'liqlik xususiyatlarining aniqlanishi
          • Bog'liqlik xususiyatlarini ishlatish
        • Marshrutlangan hodisalar (Routed Events)
          • Routed Events
          • Bubble Events
          • Direct Events
          • Tunneling Events
        • Qo'shimcha ma'lumotlar
          • WPF ga kirish
          • WinForm va WPF
          • Salom WPF
          • XAML nima?
          • Hodisalar
          • WPF oynasi
          • App.xaml
          • Resurslar
          • Argument berish
          • Son va Vaqtni Formatlash
          • TextBlock elementi – Inline formatlash
          • Label elementi
          • Textbox elementi
      • WinForm (Windows Form)
        • 1-dars. Forma yaratish
        • 2-dars. Muhit bilan tanishish
        • 3-dars. Formaga komponentalar joylashtirish
        • 4-dars. Xodisa(Event)larni boshqarish
        • 5-dars. Dasturni ishga tushurish
      • UWP (Universal Windows Platform)
      • Xamarin
    • Web Dasturlash
      • ASP.NET Core asoslari
        • ASP.NET Core haqida
        • Loyihalar turlari
        • ASP.NET Core dasturlarini hosting qilish
        • Middleware tushunchasi
        • Middleware bilan amaliyot
        • Statik fayllar bilan ishlash
        • Dependency Injection
        • Developer Exception Page
      • ASP.NET Core Web API
        • Web API ga kirish
        • Swagger nima?
        • Http metodlar
        • ActionResult
        • CORs
        • Security (JWT)
        • Swagger ni sozlash
        • Filter va atributlar
        • Configuration va middleware
        • Logging
        • Mapping (AutoMapper)
        • SignalR
        • Keshlash
      • ASP.NET Core MVC
        • MVC nima?
        • ASP.NET Core MVC haqida qisqacha
        • Loyiha strukturasi
        • Controller
        • View
        • Model
        • View larni aniqlash yo'llari
        • Controller dan view ga ma'lumot uzatish
        • ViewBag va ViewData
        • Strongly typed View
        • Layout view haqida
        • ViewStart va ViewImports fayllari haqida
        • Marshrutizatsiya (routing)
        • Tag Helpers
          • Anchor Tag Helper
          • Image Tag Helper
          • Environment Tag Helper
        • Tekshiruv qoidalari (Validation rules)
      • MicroServices
    • Mobile Dasturlash
      • Xamarin.Android
      • Xamarin.IOS
      • Xamarin.Forms
    • Game Dasturlash
      • Unity Starter (boshlang'ich)
      • Unity Advanced (rivojlangan)
    • Internet of Things
    • Machine Learning
    • Telegram Bot
      • Kirish
        • Telegram bot bilan tanishuv
        • ASP.NET Core da birinchi telegram bot
      • Starter
        • Xabar turlari va xabar yuborish
          • Matnli xabarlar bilan ishlash
          • Rasm & Sticker
          • Audio & voice
          • Video & Video Note
          • Dokument fayllar
          • Polls
          • Contact , Location, Venue
          • Album(Media Group)
      • Essential
        • Reply - Markup
          • ReplyKeyboardMarkup, KeyboardButton
          • InlineKeyboardMarkup, InlineKeyboardButton
      • Advanced
        • Deployment
    • Class Library
    • Intervyu savollari
      • C# / .NET asoslari
  • Database
    • MS SQL Server
      • SQL Server sintaksisi
      • Ma'lumot turlari
      • Select
    • PostgreSQL
      • Basic
        • Kirish
        • PostgreSQL tarixi
        • Muhitni sozlash (PgAdmin)
        • Sistaksis
        • Ma'lumot turlari
        • Create Database
        • Select Database
        • Drop Database
        • Create Table
        • Drop Table
        • Scheme
        • Insert so'rovi
        • Select so'rovi
        • Operatorlar
        • Ifodalar
        • Where
        • Where
        • And va Or
        • Update so'rovi
        • Delete so'rovi
        • Like
        • Limit
        • Order By
        • With
        • Having
        • Distinct
      • Advance
        • Constraint (cheklov) lar
        • Join lar
          • Cross join
          • Inner join
          • Left join
          • Right join
          • Full join
        • Union
  • Roadmap
    • Roadmap for .NET developers
    • Roadmap for Azure developers
Powered by GitBook
On this page
  • .NET tillari
  • .NET ni yuklash
  • Hello World! (Hech qanday muhitsiz)
  • .NET SDK ni o'rnatamiz.
  • Error berib qolishi mumkinmi?
  • Yangi loyiha yaratish
  • Error berib qolishi mumkinmi?
  • Dasturni ishga tushirish

Was this helpful?

  1. C# / .NET

.NET ga xush kelibsiz

Kross platforma, open source va dasturchilar uchun IOT, Mobile, Desktop, Web, Game turdagi maxsulotlar ishlab chiqish uchun bepul platforma

PreviousC# / .NETNext.NET bilan bog'liq mavhumliklardan qochish

Last updated 3 years ago

Was this helpful?

Assalomu alaykum mening qadrdonlarim! Sizlarga .NET bo'yicha bilim berishni bugundan niyat qildim. Agar sizlarni Microsoft kompaniyasi tomonidan yaratilgan maxsulotlar qiziqtirsa va o'sha maxsulotlar orqali o'z maxsulotingizni ishlab chiqmoqchi bo'lsangiz, siz hozir yo'nalish tanlashda adashmadingiz! .NET GA XUSH KELIBSIZ.

.NET tillari

Siz .NET ilovalarini ishlab chiqish uchun C#, F#, Visual Basic tillaridan foydalanishingiz mumkin.

.NET ni yuklash

Barcharga ma'lumki, .NET frameworklarining 3 turi hozirda faoliyatda. ".NET Framework", ".NET Core", ".NET5". Uchchala frameworkda ham SDK va Runtime bor. .NET SDK - dasturning qurilishi va ishga tushishini taminlaydi. .NET Runtime - Dasturning ishga tushishini taminlaydi xolos. Aytmoqchimanki, SDK o'zining ichiga Runtime ni ham oladi. Agar o'zining ichiga olsa nega kerak?

Barchamizga ma'lum .NET platformasida yozilgan ilovalarni ishga tushirish uchun .NET Runtime lari kerak bo'ladi. Bu sizga C++ emas. Istalgan kompyuterda ishga tushib ketaveradigan. Ya'ni Windows tizimi kompyuterga yangi o'rnatilgan paytda C++ Runtime lari bo'ladi. Shuning uchun C++ da yozilgan ilovalarni ishga tushirishda xech qanday so'rov bo'lmaydi. Mana endi sekin sekin Windowsning yangi versiyalarida .NET frameworklari ko'zga ko'rinyapti.

Aytaylik men dasturchiman va .NET (C#) da biror ilova ishlab chiqdim, yoki Telegramga o'xshagan dastur... xullas nima farqi bor.... Keyin uni do'stimni kompyuteriga o'tkazdim. Do'stim esa dasturchi emas. Shu bilan birgalikda .NET SDK ham o'rnatmaydi, SDK dasturchiga kerak xolosda. Chunki yozgan kodini build qilib berishi kerak bo'ladi. Oddiy odam esa kod yozmaydi. Dasturchi bo'lmagan oddiy odamga .NET Runtime beriladi. Yani Runtime dasturini kompyuteriga install qilgandan keyin, bizning dasturni ochishda muammo bo'lmaydi. Aks holda .NET Frameworkini o'rnat didi.

Demak SDK va Runtime farqini tushinib oldingiz.

Keling, ushbu frameworklarning farqlarini ko'rib chiqamiz.

Endi deyarli loyihalarda muammolar yo'q edi, yagona muammoni qo'shmaganda. Ko'p dasturchilar .NET Core da ishlaydi, qolganlari esa .NET Frameworkda. Qaysidir Service lar yoki paket, kutubxonalar .NET Frameworkda yozilgan edi, ularning ko'pi hali .NET Core ga olinmagan edi. Aytmoqchimanki, katta loyihalarni ishlab chiqishda, kimdir qaysidir service ni .NET Frameworkda yozgan, masalan tayyor kutubxonani. Asosiy loyiha esa .NET Core da ko'tarilgan. Endi anavi kutubxonadan foydalanishda ozgina muammo kelib chiqishi mumkin. Chunki ularning qurilishi bir biriga to'g'ri kelmaydi. 1 ta gina yo'l bor edi. .NET Framework loyihasini .NET Core ga konvertatsiya qilish kerak edi. Qilishni ham yo'lini topishdi ammo barbr optimal emasdi. Keyin ular .NET5 ni ishlab chiqishga kirishishdi. Bu uchun tashqaridan ko'plab kontributerlar (ko'ngilli dasturchilar) ham jalb qilingan edi. Hozirda hali ham uning ustida ish olib borilmoqda. Bu frameworkni oddiy qilib tushintirganda .NET Framework + .NET Core ham deyish mumkin. Ya'ni endi ishlar yana ham standartlashdi. .NET Standart edi. .NET 5 da loyiha ko'tarilsa, istalgan frameworkdagi service larni qabul qilad oladi. Kimdir Core da yoki Frameworkda yozsa kutubxonalarni. .NET5 orqali ularni bemalol import qilib ishlatish mumkin edi. Qo'rqmasdan ayta olaman, hozirda barcha NET 5 ga o'tyapti, ba'zi injiqlarni hisobga olmaganda.

Keling quruq SDK ni o'zi orqali "Hello World" ni ekranga chiqarishni o'rganamiz.

Hello World! (Hech qanday muhitsiz)

Hamma tilda ishlash uchun muhit kerak bo'ladi. Huddi avvalgi mavzuda gapirgan Visual Studio yoki IntelliJ IDEA lar kabi. Aslida kodlar qanday quriladi. Amalga oshishi qanday bo'ladi? Qaysidir ma'noda bu jarayonni ham "Dasturlashda tafakkur" tushunchasiga misol qilsak bo'laveradi. Shunchi men o'zimni boshimdan o'tkazganman. Har xil savollar bo'ladida... - Loyihamga nuget (paketlar menejeri) dan paket o'rnata olmayapman? - Dasturni kompilatsiya qilib bo'lmayapti? - Visual Studio dasturi meni kompyterimga tushmayapti? Shunday savollarni ko'pini o'quvchilarimdan eshitganman. Ushbu gap so'zlardan keyin "Dasturlashda tafakkur" nomli qizg'in bir tushunchani kiritdim (o'zimni lug'atimga :). Agar bizning kodlarimiz qay tarzda build (qurilish) bo'lishini bilganimizda, bizga Visual Studio kerak emas edi. Kerak bo'lsa o'zimiz Visual Studio yaratgan bo'lardik. Qachonlardir C++ uchun yangi muhit qilgan edim C# orqali. Bu bilan nima demoqchiman? Keling "Hello World" natijani olish uchun visual studiodan kechib turamiz bir gal.... Demak boshladik.

.NET SDK ni o'rnatamiz.

Visual Studio esa siz va .NET SDK o'rtasidagi vositachi xolos. Keling Visual Studioni ishini o'zimiz ham qilib ko'ramiz, vaziyatni baholash uchun. Hullas SDK ni yukladik, endi uni install qilamiz. Menimcha qiyinchilik tug'diymaydi. Agar xatolik bersa, demak avval .NET ning boshqa versiyasi ustanovka qilingan bo'ladi, o'shani o'chirib tashlab keyn buni install qlish kerak, agar lozim topsangiz. Menimcha boshqa xatolik yuz bermaydi. SDK o'rnaganini tekshirish uchun CMD ni ochamiz. buning uchun WIN+R klavishlari bosiladi va CMD deb yoziladi.

CMD ga "dotnet" deb yozish kifoya. Agar .NET SDK o'rnatilgan bo'lsa, ushbu kalit so'zni taniydi, aks holda bu so'z notanish deb inglizcha yoki ruscha gap chiqadi.

Error berib qolishi mumkinmi?

Albatta error ham berishi mumkin, faqat bir holatda. 'dotnet' is not recognized as an internal or external command __Yoki dotnet SDK install bo'lmagan bo'ladi, yoki CMD ni avvalroq ochib olgansiz (SDK install bolishidan avval). Muammoni hal qlish uchun CMD ni qayta ishga tushirib yuborish talab etiladi.

Yangi loyiha yaratish

Yangi loyiha yaratish uchun CMD ni orqali ushbu buyruqni ishga tushiring:

> dotnet new console -o MyApp

So'ngra yangi yaratilgan MyApp direktoriyasiga qayting, uning uchun:

> cd MyApp

Bular qanday ma'noni bildiradi?

  • dotnet new console buyrug'i yangi konsul loyihasini yaratish uchun ishlatiladi

  • -o parametri esa MyApp nomi papkaga loyiha fayllarini joylashligini bildiradi. output so'zidan olingan. Loyihani qaysi papka ichiga yaratish kerakligini bildiradi.

  • cd MyApp buyrug'ining vazifasi, joriy turgan direktoriyadan berilgan manzilga o'tish kerakligini bildiradi.

MyApp papkasidagi asosiy fayl - Program.cs fayli bo'ladi.

Program.cs
using System;
namespace myApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

Error berib qolishi mumkinmi?

"Console Application" could not be created. Access to the path 'C:\Windows\System32\myApp' is denied. Bizga ushbu errorni berishi mumkin. Buning ma'nosi Loyiha yaratilayotgan joyga o'zgartirish kiritish mumkin emas. Chunki bu sistema fayllari turadigan joy bo'lishi mumkin. Agar sizda ushbu xatolik bersa, siz joriy manzilni o'zgartirishingiz mumkin. Masalan: cd d:/dasturlar

Dasturni ishga tushirish

CMD da quyidagi buyruqni ishga tushiring:

Command Prompt
D:\dasturlar\MyApp> dotnet run
Hello World!
D:\dasturlar\MyApp>

Do'stlar menimcha o'zingizning birinchi .NET ilovangizni yaratdingiz! Tabriklayman

Ushbu framework orqali .NET ilovarini faqat windows operatsion tizimi uchun ishlab chiqish mumkin. (Tolka windows :). .NET Frameworklarining turli versiyalari bor va bular 4.7.2 gacha yetib kelgan. .NET Framework Dev Pack (SDK): .NET Framework Runtime:

.NET trendga chiqayotgan bir paytda, Java va .NET dasturchilari o'rtasida muzokaralar kelib chiqdi, chunki C# bu Microsoftning Javasi. Bu yerda muammo nima edi? C# orqali faqat Windows OS ga ilova yozish mumkin edi. Java da edi muammosiz barchasiga. Ushbu muammolardan keyin Microsoft ham o'zining cross platformali frameworkini ishlab chiqdi. Uning nomi .NET Core edi. Bu framework orqali Windows, Linux, MacOS, Docker (Docker haqida o'rganasiz) OS lariga ham ilovalar yaratish imkoni bor edi. Keyinchalik ko'p dasturchilar .NET Core ga o'tishdi. Qoladiganlari qoldi ham... Chunki Ko'p loyihalar .NET Frameworkda ko'tarilgan edi. Uni .NET Core ga olish da esa muammolarga duch kelish mumkin edi. Agar faqat Windows da ish qiluvchilar bo'lsa bundan muammo emasdi lekin... Aytganimdek, hozirda ham .NET Frameworkda ish qiladiganlar bor.

.NET Core SDK: .NET Core Runtime: \

.NET SDK: .NET Runtime:

Avvalo .NET SDK ni yuklab olishimiz kerak bo'ladi .

https://dotnet.microsoft.com/download/dotnet-framework/thank-you/net48-developer-pack-offline-installer
https://dotnet.microsoft.com/download/dotnet-framework/thank-you/net48-web-installer
bu yerdan
https://dotnet.microsoft.com/download/dotnet/thank-you/sdk-3.1.408-windows-x64-installer
https://dotnet.microsoft.com/download/dotnet/3.1/runtime
https://dotnet.microsoft.com/download/dotnet/thank-you/sdk-5.0.202-windows-x64-installer
https://dotnet.microsoft.com/download/dotnet/5.0/runtime
bu yerdan
Qaysi yo'nalishdan ketmoqchisiz?
Vipolnit
Anaa dotnet ni tanigani uchun shu narsalar chiqdi