<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kudrat</title>
    <description>The latest articles on DEV Community by Kudrat (@kudratswe).</description>
    <link>https://dev.to/kudratswe</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1416862%2Fd26fcc10-f793-4eac-9477-ac157de1b907.png</url>
      <title>DEV Community: Kudrat</title>
      <link>https://dev.to/kudratswe</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kudratswe"/>
    <language>en</language>
    <item>
      <title>Complex types</title>
      <dc:creator>Kudrat</dc:creator>
      <pubDate>Tue, 23 Apr 2024 14:39:02 +0000</pubDate>
      <link>https://dev.to/kudratswe/complex-types-1h7f</link>
      <guid>https://dev.to/kudratswe/complex-types-1h7f</guid>
      <description>&lt;h2&gt;
  
  
  Struct
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;Struct&lt;/code&gt; kalit so'zi orqali yaratilgan tiplarda bir necha xil ma'lumot saqlasa bo'ladi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public struct Nuqta
{

}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Structni yuqoridagidek e'lon qilamiz.Bu yerda &lt;code&gt;struct&lt;/code&gt; so'zi orqali &lt;strong&gt;Nuqta&lt;/strong&gt; data tipi yaratildi.&lt;br&gt;
Struct o'zining ichida quyidagicha ma'lumotlar saqlashi mumkin.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public struct Nuqta
{
   public X {get; set;}   //property
   public Y {get; set;}   //property

   public void ChopEtish() =&amp;gt;
     Console.WriteLine($"X:{X}, Y:{Y}");  //method
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Struct bu value type ya'ni o'zgaruvchining ma'lumotlari &lt;code&gt;stack&lt;/code&gt;da turadi.Reference typeda o'zgaruvchining o'zi stackda,ma'lumotlari esa &lt;code&gt;Heap&lt;/code&gt;da turadi.&lt;/p&gt;

&lt;p&gt;Class/Struct ichidagi barcha ma'lumotlar &lt;code&gt;Member&lt;/code&gt; deb ataladi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public struct Nuqta
{   // member
   public X {get; set;}   // auto implemented property
   public Y {get; set;}   

   public int x;      //field

   public void ChopEtish() =&amp;gt;
     Console.WriteLine($"X:{X}, Y:{Y}");  //method
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Property&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;Encapsulation&lt;/code&gt;-murakkab tiplar ichidagi foydalanuvchiga unchalik qiziq bo'lmagan detallarni yashirish uchun ishlatiladi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public struct Nuqta
{   
     //encapsulation-yashirish

     private int x = 0; 

     public int GetX() =&amp;gt; return x;
     public int SetX(int value) =&amp;gt;x = value;   

}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var a = new Nuqta();
a.Get();
a.Set(10);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bunaqangi ovoragarchilikni oldini olish maqsadida,&lt;code&gt;property&lt;/code&gt;larni joriy etishdi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public struct Nuqta
{   
     //encapsulation-yashirish

     private int x = 0;  //backing field

     public int X        //property
     {
        get =&amp;gt; x;
        set =&amp;gt; x = value;
     }

     public int Y {get; set;} 
     //auto-implemented property
     //yashirin backing fieldga ega
     //compiler backing field yaratib beradi
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Shu tarzda propertylar yaratildi.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Constructor&lt;/strong&gt;&lt;br&gt;
Constructor bu &lt;code&gt;new&lt;/code&gt; kalit so'zi orqali obyekt yaratilganda chaqiriladigan funksiya.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var a = new Nuqta();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;lekin structureni ichida chaqirilayotgan funskiya mavjud bo'lmaydi.&lt;br&gt;
&lt;em&gt;Vazifalari&lt;/em&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;obyekt yaratilganda chaqiriladi&lt;br&gt;
obyekt initialize qilishi uchun ishlatiladi.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Oddiy funksiyalardan farqli o'laroq,constructorlarda return type mavjud emas.Sababi ular hech narsa qaytarmaydi.&lt;/p&gt;

&lt;p&gt;Struct/Class ko'rinmas default parametr-less constructorga ega&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Class/Struct nomi bilan bir xil bo'ladi&lt;br&gt;
Default constructor &lt;code&gt;public&lt;/code&gt; bo'lishi shart&lt;/p&gt;
&lt;/blockquote&gt;

</description>
    </item>
    <item>
      <title>String Methods in C#</title>
      <dc:creator>Kudrat</dc:creator>
      <pubDate>Fri, 19 Apr 2024 07:52:46 +0000</pubDate>
      <link>https://dev.to/kudratswe/string-methods-in-c-4eo6</link>
      <guid>https://dev.to/kudratswe/string-methods-in-c-4eo6</guid>
      <description>&lt;h2&gt;
  
  
  Format()
&lt;/h2&gt;

&lt;p&gt;Stringni formatlash uchun ishlatiladi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var testString = string.Format("Hello {0}", 123123);
Console.WriteLine("Hello {0:C}", 123123);
output:Hello 123123
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Split()
&lt;/h2&gt;

&lt;p&gt;Stringni substringlarga ajratadi va string array qaytaradi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var originalString = "olma anor nok";
var mevalar = originalString.Split(' ');
Console.WriteLine(mevalar[0]);
Console.WriteLine(mevalar[1]);
Console.WriteLine(mevalar[2]);
output:
olma
anor
nok
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Quyidagi hollarda Split() ko'p ishlatiladi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var sum = Console.ReadLine()?
    .Split(' ', StringSplitOptions.RemoveEmptyEntries)
    .Select(int.Parse)
    .Aggregate((x, y) =&amp;gt; x + y);

Console.WriteLine(sum);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Istagancha sonni &lt;code&gt;string&lt;/code&gt; ko'rinishida kiritadigan bo'lsak,uni &lt;code&gt;int&lt;/code&gt; tipiga o'tkazib,bo'sh probellarni olib tashlab yigindisini hisoblaydi.&lt;br&gt;
Bu yerda &lt;code&gt;RemoveEmptyEntries&lt;/code&gt; funksiyasi bo'sh probellarni olib tashlash uchun ishlatilsa,&lt;code&gt;TrimEmptyEntries&lt;/code&gt; begilarning ikkala tomonidagi ya'ni oldi va ortidagi probellarni olib tashlaydi.&lt;/p&gt;
&lt;h2&gt;
  
  
  Substring()
&lt;/h2&gt;

&lt;p&gt;Stringning substringini berilgan indeksdan boshlab qaytarib beradi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var longString = "This is a very long string";
Console.WriteLine(longString.Substring(5));
Console.WriteLine(longString.Substring(5, 10));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Replace()
&lt;/h2&gt;

&lt;p&gt;Belgilangan eski belgini yangisiga o'zgartirish uchun ishlatiladi&lt;br&gt;
Bu metod ham xuddi &lt;u&gt;&lt;strong&gt;Substring&lt;/strong&gt;&lt;/u&gt; metodi kabi yangi string qaytaradi,ya'ni eski stringni o'zgartirib yubora olmaydi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine(longString.Replace('i', 'I'));
Console.WriteLine(longString.Replace("is", "IS"));
Console.WriteLine(longString.Replace("Is", "IS", StringComparison.CurrentCultureIgnoreCase));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Contains()
&lt;/h2&gt;

&lt;p&gt;Stringning berilgan substringdan tashkil topgan yoki yo'qligini tekshiradi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine(longString.Contains('i'));
Console.WriteLine(longString.Contains('I'));
Console.WriteLine(longString.Contains('I', StringComparison.CurrentCultureIgnoreCase));
Console.WriteLine(longString.Contains("very"));
Console.WriteLine(longString.Contains("VERY"));
Console.WriteLine(longString.Contains("VERY", StringComparison.CurrentCultureIgnoreCase));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Joins()
&lt;/h2&gt;

&lt;p&gt;Ikkita stringni bir-biriga qo'shish uchun ishlatiladi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine(string.Join(", ", [123, "hello", 'a', 3.14]));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Trim()
&lt;/h2&gt;

&lt;p&gt;Stringning oldi yoki ortidagi barcha bo'sh kataklarni o'chirish uchun ishlatiladi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var stringWithSpaces = "  hello world     \n";
Console.WriteLine(stringWithSpaces);
Console.WriteLine(stringWithSpaces.Trim());
Console.WriteLine(stringWithSpaces.TrimEnd());
Console.WriteLine(stringWithSpaces.TrimStart());
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  EndWith()
&lt;/h2&gt;

&lt;p&gt;String berilgan string bilan tugash yoki tugamasligini tekshiradi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine(longString.EndsWith("string"));
Console.WriteLine(longString.EndsWith("STRING"));
Console.WriteLine(longString.EndsWith("STRING", StringComparison.CurrentCultureIgnoreCase));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  StartWith()
&lt;/h2&gt;

&lt;p&gt;String berilgan string bilan boshlanishini tekshiradi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine("StartsWith()");
Console.WriteLine(longString.StartsWith("This"));
Console.WriteLine(longString.StartsWith("this"));
Console.WriteLine(longString.StartsWith("this", StringComparison.CurrentCultureIgnoreCase));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  IndexOf()
&lt;/h2&gt;

&lt;p&gt;Belgilangan obyektning stringdagi o'rnini qaytarib beradi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine("IndexOf()");
Console.WriteLine(longString.IndexOf('i'));
Console.WriteLine(longString.IndexOf("very"));
Console.WriteLine(longString.IndexOf("VERY"));
Console.WriteLine(longString.IndexOf("VERY", StringComparison.CurrentCultureIgnoreCase));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Remove()
&lt;/h2&gt;

&lt;p&gt;String ichidagi qaysidir belgi yoki stringni o'chirib tashlaydi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine(longString.Remove(10));
Console.WriteLine(longString.Remove(10, 5));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  ToUpper()
&lt;/h2&gt;

&lt;p&gt;Katta harfga aylantirib qo'yadi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine("ToUpper()");
Console.WriteLine(longString.ToUpper());
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  ToLower()
&lt;/h2&gt;

&lt;p&gt;Kichik harfga o'zgartirib qaytaradi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine("ToLower()");
Console.WriteLine(longString.ToLower());
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  PadLeft()
&lt;/h2&gt;

&lt;p&gt;String uchun chap tomondan joy ajratib bo'sh joylarni qaysidir belgi orqali to'ldiradi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine("PadLeft()");
Console.WriteLine("Hello".PadLeft(10));
Console.WriteLine("Hello".PadLeft(10, '+'));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  PadRight()
&lt;/h2&gt;

&lt;p&gt;String uchun o'ng tomondan joy ajratib bo'sh joylarni qaysidir belgi orqali to'ldiradi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine("PadRight()");
Console.WriteLine("Hello".PadRight(10));
Console.WriteLine("Hello".PadRight(10, '+'));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Compare()
&lt;/h2&gt;

&lt;p&gt;Ikkita stringni bir biri bilan solishtirish uchun ishlatiladi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine(string.Compare("A", "B"));
Console.WriteLine(string.Compare("B", "AB"));
Console.WriteLine(string.Compare("B", "B"));
Console.WriteLine("A".CompareTo("B"));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Equals()
&lt;/h2&gt;

&lt;p&gt;Ikkita stringning bir biriga teng yoki teng emasligini tekshiradi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine(string.Equals("Hello", "hello"));
Console.WriteLine(string.Equals("Hello", "hello", StringComparison.CurrentCultureIgnoreCase));
Console.WriteLine("Hello".Equals("hello", StringComparison.CurrentCultureIgnoreCase));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>String Operations(Length,escape character,verbatim string)</title>
      <dc:creator>Kudrat</dc:creator>
      <pubDate>Fri, 19 Apr 2024 05:02:39 +0000</pubDate>
      <link>https://dev.to/kudratswe/string-operationslengthescape-characterverbatim-string-1nm</link>
      <guid>https://dev.to/kudratswe/string-operationslengthescape-characterverbatim-string-1nm</guid>
      <description>&lt;h2&gt;
  
  
  Length
&lt;/h2&gt;

&lt;p&gt;Stringni uzuznligini qaytaradi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine( "Hello World".Length ) 
// 11
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ishlatilishi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var carModel="BYD Han"
for ( int i = 0; i &amp;lt; carModel.Length; i++ )
Console.WriteLine(carModel[i]);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Stringni barcha elementlarini alohida indekslari orqali qaytaradi.&lt;/p&gt;

&lt;h2&gt;
  
  
  Escape character ( \ )
&lt;/h2&gt;

&lt;p&gt;String ichida yozib bo'lmaydigan belgilarni yozish uchn &lt;code&gt;Escape Character&lt;/code&gt; ishlatiladi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var specialString = " Hello "new" world ";
Console.WriteLine(specialString);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Yuqoridagi holatda qo'shtirnoqni o'qimaydi va error beradi.&lt;br&gt;
Bu xatoni to'girlash uchun belgilar oldidan  &lt;em&gt;\ (backslash)&lt;/em&gt; ishlatiladi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var specialString = " Hello \"new\" world ";
Console.WriteLine(specialString);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;\n&lt;/strong&gt;&lt;br&gt;
Yangi qatorga o'tish uchun ishlatiladi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine( "book \n "pen" );
output:
book
pen
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;\t&lt;/strong&gt;&lt;br&gt;
Tab ya'ni 4 ta probel tashlab chop etadi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine( "book \t "pen" \t "pencil" );
output:book    pen    pencil
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*&lt;em&gt;*&lt;/em&gt;&lt;br&gt;
Backslashni o'zini chop etish uchun 2 ta backslash yozish kifoya.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine( "\\book\\" );
output:\book\
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;\b&lt;/strong&gt;&lt;br&gt;
Backspace ya'ni eng oxirgi yozilgan belgini o'chirib yuboradi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine( "book" \b "pen" );
output:boopen
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;\r&lt;/strong&gt;&lt;br&gt;
Kursorni qator boshiga qaytarib qo'yadi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine( "book" \r "pen"  );
output:penb
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Verbatim string
&lt;/h2&gt;

&lt;p&gt;Biror so'zni o'zgarishsiz ko'chirib aytish yoki yozish uchun ishlatiladi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine( "C :\\Users\\User1\\Algo.exe");
output:C :\Users\User1\Algo.exe
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Yuqoridagi manzilni quyidagicha ya'ni bitta (@) belgi chop etish qulayroq&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine( @"C :\Users\User1\Algo.exe");
output:C :\Users\User1\Algo.exe
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>Operators in C#</title>
      <dc:creator>Kudrat</dc:creator>
      <pubDate>Fri, 19 Apr 2024 03:58:08 +0000</pubDate>
      <link>https://dev.to/kudratswe/operators-in-c-1c63</link>
      <guid>https://dev.to/kudratswe/operators-in-c-1c63</guid>
      <description>&lt;h2&gt;
  
  
  Assignment operator (=)
&lt;/h2&gt;

&lt;p&gt;Vazifasi o'ng tomondagi qiymatni chap tomonga o'zlashtirishdan iborat.&lt;br&gt;
Bu operatorni chap tarafida doim o'zgaruvchi turadi.&lt;br&gt;
&lt;em&gt;variable=value|variable|expression&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var a = 10;  //variable=value
var c = a;   //variable=variable
var c=a+b*10; //variable=expression
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;**//Compound Assignment Operators**
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;a +=10;   //a=a+10;
a -=10;   //a=a-10;
a *=10;   //a=a*10;
a %=10;   //a=a%10;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; **//Increment/Decrement**
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Faqatgina sonning qiymatini 1 ga oshirish yoki kamaytirish uchun ishlatiladi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;a++;
a--;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Postfix increment/decrement&lt;/strong&gt;&lt;br&gt;
Avval amalni bajarib,so'ngra qiymatni 1 ga oshirish/kamaytirish.&lt;br&gt;
Agar &lt;strong&gt;++/--&lt;/strong&gt; expression ichida o'zgaruvchidan keyin kelsa,bu amal boshqa operatsiyalardan keyin bajariladi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;a=0;
var son = a++;
Console.WriteLine(a);  // 1
Console.WriteLine(son); // 0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bu yerda o'zlashtirish amali bajarilib,keyin increment/decrement amali bajariladi.&lt;br&gt;
 &lt;strong&gt;Prefix increment/decrement&lt;/strong&gt;&lt;br&gt;
Qiymatni avval 1 ga oshirish/kamaytirish va keyin boshqa amallarni bajarish&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;a=0;
var son = ++a;
Console.WriteLine(a);  // 1
Console.WriteLine(son); //1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var x = 0;
var y = 0;
var z = 0;

z = ++x + y++;
Console.WriteLine(x);  //1
Console.WriteLine(y);  //1
Console.WriteLine(z);  //1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Tepadagi dasturga qaraydigan bo'lsak,barcha natijalar 1 chiqqanini guvohi bo'lamiz.Bunda amallar ketma-ketligi quyidagicha bajariladi:&lt;br&gt;
1.Avval x ni qiymati 1 oshiradi&lt;br&gt;
2.Keyin 1 ga y ni qiymati ya'ni 0 ni qo'shadi.&lt;br&gt;
3.So'ngra yig'dini z ga o'zlashtiradi&lt;br&gt;
4.Eng oxirida y ni qiymatini 1 ga oshiradi.&lt;br&gt;
   &lt;strong&gt;//Chain assignment&lt;/strong&gt;&lt;br&gt;
O'ngdan chapga qarab amallarni bajaradi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;x = y = z = 15;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Arithmetic Operators (+,-,*,/,%)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine(10+5);
Console.WriteLine(10-5);
Console.WriteLine(10*5);
Console.WriteLine(10/5);
Console.WriteLine(10%5);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;//Integer division-butun bo'lish&lt;br&gt;
Butun sonni butun songa bo'lganda,natija ham butun son chiqadi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var son = 10/3;     //3
var son1 = 10.3/3   //3.333333
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Comparison Operators
&lt;/h2&gt;

&lt;p&gt;1.Qiymatlarni solishtiradi va true/false qiymat qaytaradi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;a = 5;
b = 10;
Console.WriteLine(a &amp;gt; b);   //false
Console.WriteLine(a &amp;gt;= b);   //false
Console.WriteLine(a &amp;lt; b);   //true
Console.WriteLine(a &amp;lt;= b);   //true
Console.WriteLine(a == b);   //false
Console.WriteLine(a != b);   //true
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Logical Operators
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnest6onfq3ki2ctupe75.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnest6onfq3ki2ctupe75.png" alt="Image description" width="673" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;//Compound *&lt;/em&gt;&lt;br&gt;
Bitta belgi o'qing.Agar belgi harf bo'lsa &lt;code&gt;True&lt;/code&gt; yo'qsa &lt;code&gt;False&lt;/code&gt;deb chop eting.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var belgi = (char)Console.Read();
var kichikHarfmi = belgi &amp;gt;= 'a' &amp;amp;&amp;amp; belgi &amp;lt; = 'z';
var kattaHarfmi = belgi &amp;gt;= 65 &amp;amp;&amp;amp; belgi &amp;lt;=90;
var harfmi = kichikHarfmi || kattaHarfmi;

Console.WriteLine(kichikHarfmi);
Console.WriteLine(kattaHarfmi);
Console.WriteLine(harfmi);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Ternary Operator
&lt;/h2&gt;

&lt;p&gt;3 ta qismdan iborat:&lt;code&gt;Condition ? true_value : false_value&lt;/code&gt;&lt;br&gt;
Agar condition bararilsa &lt;em&gt;True&lt;/em&gt; qiymat qaytaradi,aks holda &lt;em&gt;False&lt;/em&gt; qiymat qaytaradi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var i = int.Parse(Console.ReadLine());
var j = int.Parse(Console.ReadLine());

var kattasi = i &amp;gt; j ? i : j;
Console.WriteLine(kattasi);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>Operators in C#</title>
      <dc:creator>Kudrat</dc:creator>
      <pubDate>Wed, 17 Apr 2024 17:19:18 +0000</pubDate>
      <link>https://dev.to/kudratswe/operators-in-c-2h1m</link>
      <guid>https://dev.to/kudratswe/operators-in-c-2h1m</guid>
      <description>&lt;h2&gt;
  
  
  Assignment operator (=)
&lt;/h2&gt;

&lt;p&gt;Vazifasi o'ng tomondagi qiymatni chap tomonga o'zlashtirishdan iborat.&lt;br&gt;
Bu operatorni chap tarafida doim o'zgaruvchi turadi.&lt;br&gt;
&lt;em&gt;variable=value|variable|expression&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var a = 10;  //variable=value
var c = a;   //variable=variable
var c=a+b*10; //variable=expression
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Compound Assignment Operators&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;a +=10;   //a=a+10;
a -=10;   //a=a-10;
a *=10;   //a=a*10;
a %=10;   //a=a%10;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Increment/Decrement&lt;/strong&gt;&lt;br&gt;
Faqatgina sonning qiymatini 1 ga oshirish yoki kamaytirish uchun ishlatiladi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;a++;
a--;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Postfix increment/decrement&lt;/strong&gt;&lt;br&gt;
Avval amalni bajarib,so'ngra qiymatni 1 ga oshirish/kamaytirish.&lt;br&gt;
Agar &lt;strong&gt;++/--&lt;/strong&gt; expression ichida o'zgaruvchidan keyin kelsa,bu amal boshqa operatsiyalardan keyin bajariladi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;a=0;
var son = a++;
Console.WriteLine(a);  // 1
Console.WriteLine(son); // 0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bu yerda o'zlashtirish amali bajarilib,keyin increment/decrement amali bajariladi.&lt;br&gt;
 &lt;strong&gt;Prefix increment/decrement&lt;/strong&gt;&lt;br&gt;
Qiymatni avval 1 ga oshirish/kamaytirish va keyin boshqa amallarni bajarish&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;a=0;
var son = ++a;
Console.WriteLine(a);  // 1
Console.WriteLine(son); //1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var x = 0;
var y = 0;
var z = 0;

z = ++x + y++;
Console.WriteLine(x);  //1
Console.WriteLine(y);  //1
Console.WriteLine(z);  //1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Tepadagi dasturga qaraydigan bo'lsak,barcha natijalar 1 chiqqanini guvohi bo'lamiz.Bunda amallar ketma-ketligi quyidagicha bajariladi:&lt;br&gt;
1.Avval x ni qiymati 1 oshiradi&lt;br&gt;
2.Keyin 1 ga y ni qiymati ya'ni 0 ni qo'shadi.&lt;br&gt;
3.So'ngra yig'dini z ga o'zlashtiradi&lt;br&gt;
4.Eng oxirida y ni qiymatini 1 ga oshiradi.&lt;br&gt;
   &lt;strong&gt;Chain assignment&lt;/strong&gt;&lt;br&gt;
O'ngdan chapga qarab amallarni bajaradi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;x = y = z = 15;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Arithmetic Operators (+,-,*,/,%)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine(10+5);
Console.WriteLine(10-5);
Console.WriteLine(10*5);
Console.WriteLine(10/5);
Console.WriteLine(10%5);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Integer division-butun bo'lish&lt;br&gt;
Butun sonni butun songa bo'lganda,natija ham butun son chiqadi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var son = 10/3;     //3
var son1 = 10.3/3   //3.333333
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Comparison Operators
&lt;/h2&gt;

&lt;p&gt;1.Qiymatlarni solishtiradi va true/false qiymat qaytaradi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;a = 5;
b = 10;
Console.WriteLine(a &amp;gt; b);   //false
Console.WriteLine(a &amp;gt;= b);   //false
Console.WriteLine(a &amp;lt; b);   //true
Console.WriteLine(a &amp;lt;= b);   //true
Console.WriteLine(a == b);   //false
Console.WriteLine(a != b);   //true
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Logical Operators
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnest6onfq3ki2ctupe75.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnest6onfq3ki2ctupe75.png" alt="Image description" width="673" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Compound *&lt;/em&gt;&lt;br&gt;
Bitta belgi o'qing.Agar belgi harf bo'lsa &lt;code&gt;True&lt;/code&gt; yo'qsa &lt;code&gt;False&lt;/code&gt;deb chop eting.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var belgi = (char)Console.Read();
var kichikHarfmi = belgi &amp;gt;= 'a' &amp;amp;&amp;amp; belgi &amp;lt; = 'z';
var kattaHarfmi = belgi &amp;gt;= 65 &amp;amp;&amp;amp; belgi &amp;lt;=90;
var harfmi = kichikHarfmi || kattaHarfmi;

Console.WriteLine(kichikHarfmi);
Console.WriteLine(kattaHarfmi);
Console.WriteLine(harfmi);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Ternary Operator
&lt;/h2&gt;

&lt;p&gt;3 ta qismdan iborat:&lt;code&gt;Condition ? true_value : false_value&lt;/code&gt;&lt;br&gt;
Agar condition bararilsa &lt;em&gt;True&lt;/em&gt; qiymat qaytaradi,aks holda &lt;em&gt;False&lt;/em&gt; qiymat qaytaradi.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var i = int.Parse(Console.ReadLine());
var j = int.Parse(Console.ReadLine());

var kattasi = i &amp;gt; j ? i : j;
Console.WriteLine(kattasi);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>String Operations</title>
      <dc:creator>Kudrat</dc:creator>
      <pubDate>Tue, 16 Apr 2024 17:48:34 +0000</pubDate>
      <link>https://dev.to/kudratswe/string-operations-42jp</link>
      <guid>https://dev.to/kudratswe/string-operations-42jp</guid>
      <description>&lt;h2&gt;
  
  
  is String literal is mutable or immutable?
&lt;/h2&gt;

&lt;p&gt;Agar biz quyidagi kod misolida oladigan bo'lsak&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;string code  = "Hello World!";
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bu yerda &lt;u&gt;"Hello World!"&lt;/u&gt; string literal deb ataladi.String literallar kompilyatsiya vaqtida yaratiladi va kodni bir qismi sifatida ishlatiladi.Ya'ni kod xotiraga qachon yuklansa,o'sha payt yuklanadi.Va string literallar &lt;strong&gt;immutable&lt;/strong&gt; ya'ni qiymatini o'zgartirib bo'lmaydi&lt;br&gt;
&lt;strong&gt;Code&lt;/strong&gt; esa bu yerda string variable va uning qiymatini o'zgartirish mumkin ya'ni &lt;strong&gt;mutable&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  Stack and Heap (Briefly)
&lt;/h2&gt;

&lt;p&gt;Dastur davomida  2 turdagi xotira yaratiladi.Ular:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Stack va Heap&lt;br&gt;
Stack xotirasida dastur boshlanishida operatsion sistema qancha xotira kerakligini biladi va buni avtomatik tarzda belgilab beradi.Va uning hajmi o'zgarmaydi.&lt;br&gt;
Heap esa dynamic xotira qismi ya'ni dastur ishga tushgandan so'ng qo'shimcha xotiraga ehtiyoj sezilsa,Heap qismidan istalgancha so'rab olaveradi.&lt;br&gt;
&lt;strong&gt;Stringlar&lt;/strong&gt; C# da &lt;code&gt;reference type&lt;/code&gt; hisoblanadi va xotiraning &lt;strong&gt;Heap&lt;/strong&gt; qismida saqlandi.&lt;br&gt;
&lt;/p&gt;


&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;int son = 15;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bu yerda &lt;code&gt;15&lt;/code&gt; &lt;code&gt;value type&lt;/code&gt; va u &lt;strong&gt;Stack&lt;/strong&gt; qismida saqlanadi.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc2u1rhqgyk01hm6eztjv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc2u1rhqgyk01hm6eztjv.png" alt="Image description" width="800" height="540"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agarda biz&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;string code  = "Hello World!";
code = "Hi";
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;shunaqa amal bajarmoqchi bo'lsak,literalning qiymati o'zgarmaydi,shunchaki heapdan yangi adress ajratiladi va eski adres OS ga qaytarib beriladi.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe4vkpjmaa6oh5kzavhfg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe4vkpjmaa6oh5kzavhfg.png" alt="Image description" width="762" height="483"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Stringni har bir elementiga birma bir indeksiga murojaat qilgan holda chop etsa bo'ladi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;string code  = "Hello World!";
Console.WriteLine(name[0]);  //output : H
Console.WriteLine(name[1]);  //output : e
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  String Concatenation
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var greet = "Salom" + " " + code;
Console.WriteLine(greet);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;greet += "!";
Console.WriteLine(greet);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;stringlarni bir biriga qo'shish maqsadida ishlatiladi.&lt;/p&gt;

&lt;h2&gt;
  
  
  String Interpolation
&lt;/h2&gt;

&lt;p&gt;String Interpolation-string ichiga ma'lumotlarni &lt;strong&gt;inject&lt;/strong&gt; qilish ya'ni joylash.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var greet2 = $" Hello, {code}";
Console WriteLine(greet2);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine($"Hello,{name}");
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;//Formatting&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var butunSon = 25;
Console.WriteLine($"Butun son : {butunSon :10}");

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bu yerda 10 yozganimiz uchun natijani o'ng tomondan 10 ta belgi rostlab chop etadi.-10 yozadigan bo'lsak chap tomondan rostlab  natijani chiqaradi.&lt;br&gt;
Bundan tashqari&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.WriteLine($"Butun son : {butunSon :10:F3}");
Console.WriteLine($"Butun son : {butunSon :10:C3}");
Console.WriteLine($"Butun son : {butunSon :10:P3}");
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;F--&amp;gt;Floating point,C--&amp;gt;Currency,P--&amp;gt;Percentage qiymatlarda chop etadi.&lt;br&gt;
  &lt;strong&gt;//Composite Formatting&lt;/strong&gt;&lt;br&gt;
String avval yozib keyin qiymatlari beriladi:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var ajoyib =3.14;
//var tekst = string.Format("Bu {0:C3} tekst", ajoyib);
Console.WriteLine("Bu {0:C3} tekst", ajoyib);
//output : Bu $3.140 tekst
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>Working on Github</title>
      <dc:creator>Kudrat</dc:creator>
      <pubDate>Fri, 12 Apr 2024 18:58:33 +0000</pubDate>
      <link>https://dev.to/kudratswe/working-on-github-1olb</link>
      <guid>https://dev.to/kudratswe/working-on-github-1olb</guid>
      <description>&lt;h2&gt;
  
  
  Github nima?
&lt;/h2&gt;

&lt;p&gt;Umuman olganda &lt;strong&gt;Github&lt;/strong&gt; haqida gaplashadigan bo'lsak,u &lt;em&gt;source control&lt;/em&gt; vebsayt hisoblanadi.Xo'sh source control vebsayt nima?&lt;br&gt;
Siz turli xil rasm yoki fayllaringizni &lt;strong&gt;Google Drive,OneDrive,DropBox&lt;/strong&gt; singari cloud dasturlarda saqlaysiz.Xuddi shunday siz yozgan kodlarni ham saqlash uchun &lt;code&gt;Github&lt;/code&gt; ishlatiladi.&lt;br&gt;
Bundan tashqari &lt;code&gt;Git&lt;/code&gt; degan tool ham bor va u &lt;em&gt;kodni versiyasini&lt;/em&gt; boshqarish uchun ishlatiladi.&lt;/p&gt;
&lt;h2&gt;
  
  
  Advantage of Github
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Agarda sizda katta bir loyiha ustida ishlayotgan bo'lsangiz va  version control bo'lmasa,biror xatolik yuz beradigan vaziyatlarda,siz oldingi kodingizni bevosita o'zgartira olmaysiz.Ya'ni u kodni to'girlash uchun,undan keyingi barcha kodlaringizni o'chirib chiqishingiz zarur bo'ladi.&lt;br&gt;
Git orqali bu muammoni yechimi bor.Siz har bir pageni tugatish mobaynida bayroq qo'yib ketasiz ya'ni &lt;code&gt;commit&lt;/code&gt; qilib ketasiz.Va bir dona komanda orqali bir necha qadam oldindagi sahifaga hech qanday kodlarni o'chirmasdan o'tib olishingiz mumkin.&lt;br&gt;
Yana bir afzalliklaridan biri shuki,agarda siz bitta loyiha ustida bir necha kishi ishlayotgan bo'lsangiz codelaringizni almashish ishlash uchun ham juda qulay.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs6fub956kin6kdqui5c1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs6fub956kin6kdqui5c1.png" alt="Image description" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Fork repository
&lt;/h2&gt;

&lt;p&gt;Dastlab fork qilmoqchi bo'lgan repositoryga o'tasiz va quyidagi &lt;strong&gt;Fork&lt;/strong&gt; tugmasini bosing&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1im4ayypnukg42jqinha.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1im4ayypnukg42jqinha.png" alt="Image description" width="701" height="332"&gt;&lt;/a&gt;&lt;br&gt;
So'ngra qaysi repositoryga fork qilmoqchi ekanligingizni ko'rsatish lozim.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fshdmevjnssfglf1t4tvf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fshdmevjnssfglf1t4tvf.png" alt="Image description" width="750" height="214"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bu jarayon tugashini biroz kutamiz va jarayon tugagach siz ushbu repositoryni &lt;code&gt;clone&lt;/code&gt; qilishimiz kerak.Clone qilish uchun siz o'z sahifangizdagi &lt;strong&gt;code&lt;/strong&gt; yozuvi ustiga bosasiz.Va quyidagi havolani ko'chirib olasiz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyj20ji8z9rf7qne0v66l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyj20ji8z9rf7qne0v66l.png" alt="Image description" width="428" height="213"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Havolani ko'chirib olgach,Terminal oynasini ochgan holda&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/author/repo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;ushbu komandani yozish kifoya.Keyin yangi branch yaratib olamiz &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F73d9u07t0au4km7wuomg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F73d9u07t0au4km7wuomg.png" alt="Image description" width="800" height="290"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;O'zimizni branchimizga o'tganizmizdan so'ng o'zgarishlarni amalga oshiramiz.O'zgarishlar kiritib bo'lgandan keyin&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit -m "descriptive commit message"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;komandasi orqali commit qilamiz.&lt;br&gt;
So'ngra&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push origin HEAD
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;komandasi orqali repositoryimizga push qilamiz.&lt;br&gt;
Undan keyin mana shu oynaga duch kelamiz&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fioves0ht25qhcngrri15.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fioves0ht25qhcngrri15.png" alt="Image description" width="800" height="144"&gt;&lt;/a&gt;&lt;br&gt;
va &lt;strong&gt;create&amp;amp;pull request&lt;/strong&gt; tugmasini bosamiz va quyidagi oynaga guvoh bo'lamiz.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F99ibge3pmf5g9gxsikao.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F99ibge3pmf5g9gxsikao.png" alt="Image description" width="800" height="433"&gt;&lt;/a&gt;&lt;br&gt;
va &lt;strong&gt;create&amp;amp;pull request&lt;/strong&gt; so'rovini jo'natamiz.&lt;/p&gt;

&lt;h2&gt;
  
  
  Github Commands
&lt;/h2&gt;

&lt;p&gt;Command Description&lt;br&gt;
&lt;code&gt;git init&lt;/code&gt; Initialize a local Git repository&lt;br&gt;
&lt;code&gt;git clone ssh://git@github.com/[username]/[repository-name].git&lt;/code&gt;  Create a local copy of a remote repository&lt;br&gt;
&lt;code&gt;git status&lt;/code&gt;   Check status&lt;br&gt;
&lt;code&gt;git add [file-name.txt]&lt;/code&gt;  Add a file to the staging area&lt;br&gt;
&lt;code&gt;git add -A&lt;/code&gt;   Add all new and changed files to the staging area&lt;br&gt;
&lt;code&gt;git commit -m "[commit message]"&lt;/code&gt; Commit changes&lt;br&gt;
&lt;code&gt;git rm -r [file-name.txt]&lt;/code&gt;    Remove a file (or folder)&lt;br&gt;
&lt;code&gt;git branch&lt;/code&gt;   List branches (the asterisk denotes the current branch)&lt;br&gt;
&lt;code&gt;git branch -a&lt;/code&gt;    List all branches (local and remote)&lt;br&gt;
&lt;code&gt;git branch [branch name]&lt;/code&gt; Create a new branch&lt;br&gt;
&lt;code&gt;git branch -d [branch name]&lt;/code&gt;  Delete a branch&lt;br&gt;
&lt;code&gt;git push origin --delete [branch name]&lt;/code&gt; Delete a remote branch&lt;br&gt;
&lt;code&gt;git checkout -b [branch name]&lt;/code&gt;    Create a new branch and switch to it&lt;br&gt;
&lt;code&gt;git checkout -b [branch name] origin/[branch name]&lt;/code&gt; Clone a remote branch and switch to it&lt;br&gt;
&lt;code&gt;git branch -m [old branch name] [new branch name]&lt;/code&gt; Rename a local branch&lt;br&gt;
&lt;code&gt;git checkout [branch name]&lt;/code&gt; Switch to a branch&lt;br&gt;
&lt;code&gt;git checkout -&lt;/code&gt; Switch to the branch last checked out&lt;br&gt;
&lt;code&gt;git checkout -- [file-name.txt]&lt;/code&gt; Discard changes to a file&lt;br&gt;
&lt;code&gt;git merge [branch name]&lt;/code&gt; Merge a branch into the active branch&lt;br&gt;
&lt;code&gt;git merge [source branch] [target branch]&lt;/code&gt; Merge a branch into a target branch&lt;br&gt;
&lt;code&gt;git stash&lt;/code&gt;    Stash changes in a dirty working directory&lt;br&gt;
&lt;code&gt;git stash clear&lt;/code&gt;  Remove all stashed entries&lt;br&gt;
&lt;code&gt;git push origin [branch name]&lt;/code&gt;    Push a branch to your remote repository&lt;br&gt;
&lt;code&gt;git push -u origin [branch name]&lt;/code&gt; Push changes to remote repository (and remember the branch)&lt;br&gt;
&lt;code&gt;git push&lt;/code&gt; Push changes to remote repository (remembered branch)&lt;br&gt;
&lt;code&gt;git push origin --delete [branch name]&lt;/code&gt;   Delete a remote branch&lt;br&gt;
&lt;code&gt;git pull&lt;/code&gt; Update local repository to the newest commit&lt;br&gt;
&lt;code&gt;git pull origin [branch name]&lt;/code&gt;    Pull changes from remote repository&lt;br&gt;
&lt;code&gt;git remote add origin ssh://git@github.com/[username]/[repository-name].git&lt;/code&gt;  Add a remote repository&lt;br&gt;
&lt;code&gt;git remote set-url origin ssh://git@github.com/[username]/[repository-name].git&lt;/code&gt;  Set a repository's origin branch to SSH&lt;br&gt;
&lt;code&gt;git log&lt;/code&gt;  View changes&lt;br&gt;
&lt;code&gt;git log --summary&lt;/code&gt;    View changes (detailed)&lt;br&gt;
&lt;code&gt;git log --oneline&lt;/code&gt;    View changes (briefly)&lt;br&gt;
&lt;code&gt;git diff [source branch] [target branch]&lt;/code&gt; Preview changes before merging&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Real numbers(Kasr sonlar)</title>
      <dc:creator>Kudrat</dc:creator>
      <pubDate>Fri, 12 Apr 2024 07:05:42 +0000</pubDate>
      <link>https://dev.to/kudratswe/real-numberskasr-sonlar-3n2a</link>
      <guid>https://dev.to/kudratswe/real-numberskasr-sonlar-3n2a</guid>
      <description>&lt;p&gt;Kasr sonlar deb butun va kasr qismiga ega bo'lgan sonlarga aytiladi.C# dasturlash tilida kasr sonlarni saqlovchi 3 ta data tip  mavjud.Ular:&lt;strong&gt;float&lt;/strong&gt;,&lt;strong&gt;double&lt;/strong&gt;,&lt;strong&gt;decimal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fshx5rt1u1zvbtr46wmjs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fshx5rt1u1zvbtr46wmjs.png" alt="Image description" width="763" height="363"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Float
&lt;/h2&gt;

&lt;p&gt;Xotiradan &lt;u&gt;4 bayt&lt;/u&gt; joy egallaydi va nuqtadan keyin &lt;strong&gt;6 ta&lt;/strong&gt; son aniqlikda ishlaydi.Kasr sonlarni float tipiga o'tkazishimiz uchun sonni ortidan &lt;code&gt;f&lt;/code&gt; harfini qo'shish kifoya.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;float son = 134.4566414f;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Float ning .NET dagi tipi &lt;code&gt;System.Single&lt;/code&gt; deb ataladi.&lt;/p&gt;

&lt;h2&gt;
  
  
  Double
&lt;/h2&gt;

&lt;p&gt;Xotiradan &lt;u&gt;8 bayt&lt;/u&gt; joy egallaydi va nuqtadan keyin &lt;strong&gt;15-17 ta&lt;/strong&gt; son aniqlikda ishlaydi.Literallar doim double holatida turadi va uning ortidan hech qanaqa harf qo'shish shart emas.Uning .NET dagi klasi&lt;br&gt;
&lt;code&gt;System.Double&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Decimal
&lt;/h2&gt;

&lt;p&gt;Xotiradan &lt;u&gt;16 bayt&lt;/u&gt; joy egallaydi va nuqtadan keyin &lt;strong&gt;28-29 ta&lt;/strong&gt; son aniqlikda chop etadi.Kasr sonlarni decimal tipiga o'tkazish uchun uning ortidan &lt;code&gt;M&lt;/code&gt;sonini qo'shishimiz kifoya.M soni &lt;strong&gt;Money&lt;/strong&gt; so'zidan olingan.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;decimal myMoney = 3000.544558m
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Decimalning klasi esa &lt;code&gt;System.Decimal&lt;/code&gt; deb yuritiladi.Decimal odamlar tomonidan ixtiro qilingan va o'ta aniqlik talab etiladigan birliklar uchun ishlatiladi.Masalan:&lt;strong&gt;Binance&lt;/strong&gt; ya'ni &lt;strong&gt;pul&lt;/strong&gt; uchun ishlatiladi.&lt;/p&gt;

&lt;p&gt;Garchi &lt;code&gt;double&lt;/code&gt; &lt;code&gt;float&lt;/code&gt; ga qaraganda nuqtadan keyin ko'proq sonlarni o'z ichiga olsa ham ,&lt;code&gt;float&lt;/code&gt; nuqtadan keyingi 6 ta sonni &lt;code&gt;double&lt;/code&gt;ga qaragandan aniqroq chop etadi.Masalan:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;float son = .3f + .3f + .3f + .1f;
double son2 = (.3 + .3 + .3 + .1);
Console.WriteLine($"{son:f16}"); //output: 1.0000000000000000
Console.WriteLine($"{son2:f16}"); //output:0.9999999999999998

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;Decimal&lt;/code&gt; ikkalasidan ham aniqroq ishlaydi.Ammo u 16 bayt joy egallaydi bu odatiy dastur uchun juda katta joy.&lt;/p&gt;

&lt;p&gt;Parse va TryParse metodi kasr sonlar uchun ham ishlaydi&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Console.Write("Kasr son kiriting:");
var kasrSon=Console.ReadLine();
var parsedSon=float.Parse(kasrSon);
Console.WriteLine(parsedSon);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>Variables,Nomlash qoidalari</title>
      <dc:creator>Kudrat</dc:creator>
      <pubDate>Wed, 10 Apr 2024 16:38:03 +0000</pubDate>
      <link>https://dev.to/kudratswe/variablesnomlash-qoidalari-nij</link>
      <guid>https://dev.to/kudratswe/variablesnomlash-qoidalari-nij</guid>
      <description>&lt;p&gt;Kompilyatsiya vaqtida vaqtinchalik ma'lumotlarni saqlab turuvchi xotira &lt;strong&gt;Variables(o'zgaruvchilar)&lt;/strong&gt; deb ataladi.Bular qanday ma'lumot saqlashiga qarab,har xil &lt;strong&gt;data type&lt;/strong&gt;larda saqlanadi.Masalan butun sonlarni saqlash uchun &lt;code&gt;int&lt;/code&gt;tipidan foydalaniladi.&lt;br&gt;
O'zgaruvchini shunchaki e'lon qilish- &lt;strong&gt;variable declaration&lt;/strong&gt; deyiladi:&lt;code&gt;int son;&lt;/code&gt;&lt;br&gt;
Qiymat o'zlashtirish - &lt;strong&gt;assignment&lt;/strong&gt;:&lt;code&gt;son=10;&lt;/code&gt;&lt;br&gt;
Ham e'lon qilib ham qiymat berish jarayoni - &lt;strong&gt;initialization&lt;/strong&gt;:&lt;code&gt;int son=10;&lt;/code&gt;&lt;br&gt;
Bir xil tipdagi bir necha o'zgaruvchini bir vaqtda e'lon qilish mumkin --&amp;gt; &lt;code&gt;int a,b,c;&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Nomlash qoidalari
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Nomda alifbo harflari,raqamlar va underscore(_)ishlatish mumkin
2.Nomning birinchi belgisi raqam bo'la olmaydi
3.Nomda maxsus belgilar bo'lishi mumkin emas
4.Maxsus kalit so'zlardan nom sifatida foydalanish mumkin emas&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  Casing rules
&lt;/h2&gt;

&lt;p&gt;1.Local o'zgaruvchilar &lt;strong&gt;camelCase&lt;/strong&gt; orqali yoziladi:&lt;code&gt;int kattaSon=123;&lt;/code&gt;&lt;br&gt;
2.Propertylar,class nomlari,method nomlari &lt;strong&gt;PascalCase&lt;/strong&gt; orqali yoziladi:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public class Student
{
   public string FullName {}

}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;3.Constant qiymatga ega o'zgaruvchilar &lt;strong&gt;UPPERCASE&lt;/strong&gt; orqali yoziladi:&lt;code&gt;const PI=3.14;&lt;/code&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Project structure</title>
      <dc:creator>Kudrat</dc:creator>
      <pubDate>Wed, 10 Apr 2024 15:57:42 +0000</pubDate>
      <link>https://dev.to/kudratswe/project-structure-3ffk</link>
      <guid>https://dev.to/kudratswe/project-structure-3ffk</guid>
      <description>&lt;p&gt;Siz .NET loyiha yaratganingizda loyiha bir necha qismdan tashkil topganiga guvoh bo'lasiz.Shulardan biri .&lt;strong&gt;csproj&lt;/strong&gt; fayldir.Bu faylni ichida .&lt;strong&gt;NET SDK version,output type,ImplicityUsings&lt;/strong&gt; kabi ma'lumotlar bo'ladi.Agarda project fayl mavjud bo'lmasa,&lt;code&gt;dotnet run&lt;/code&gt; komandasini tersak dasturimiz ishlamaydi.&lt;br&gt;
Projectni ichida bizga kerakli yana bir fayl &lt;strong&gt;Solution ya'ni .sln&lt;/strong&gt; fayl ham mavjud.Qachonki biz katta loyihada ishlayotganimizda,har bir loyiha o'zining alohida .&lt;em&gt;csproj&lt;/em&gt; fayliga ega bo'ladi.Solution faylni vazifasi o'sha fayllarni bir joyda saqlab,bir vaqtda run qilishdir.Agarda bu fayl bo'lmasa,loyihalar individual ravishda ishlaydi.&lt;code&gt;dotnet new sln&lt;/code&gt;komandasi orqali yangi solution fayl yaratib olishimiz mumkin.Loyihani solution faylga qo'shish uchun &lt;code&gt;dotnet sln add&lt;/code&gt; komandasini teramiz.&lt;br&gt;
&lt;code&gt;dotnet build&lt;/code&gt;komandasi solution fayl ichidagi barcha loyihalarni kompilatsiya qiladi&lt;/p&gt;

</description>
    </item>
    <item>
      <title>SDK,IL,JIT,CLR,GC,CLI</title>
      <dc:creator>Kudrat</dc:creator>
      <pubDate>Wed, 10 Apr 2024 14:18:54 +0000</pubDate>
      <link>https://dev.to/kudratswe/sdkiljitclrgc-j72</link>
      <guid>https://dev.to/kudratswe/sdkiljitclrgc-j72</guid>
      <description>&lt;p&gt;Har bir dasturlash tilida yozilgan codeni dastur sifatida ishga tushishi uchun uni mashina tiliga o'girish kerak bo'ladi.Bu jarayon &lt;strong&gt;Compiling&lt;/strong&gt; deb ataladi.C# &lt;u&gt;cross-platform &lt;/u&gt; bo'lganligi sababli dastlab code &lt;strong&gt;IL(Intermediate Language)&lt;/strong&gt; tiliga o'tkaziladi.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl3yi89kt4r2rkmedwdxs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl3yi89kt4r2rkmedwdxs.png" alt="Image description" width="800" height="738"&gt;&lt;/a&gt;&lt;br&gt;
Keyin &lt;u&gt;IL &lt;/u&gt;ni istalgan qurilamada  .&lt;strong&gt;NET Runtime&lt;/strong&gt; degan dastur ishga tushirib beradi. &lt;em&gt;.NET Runtime&lt;/em&gt;  o'z ichiga bir nechta kompanentalarni oladi.Ulardan biri  &lt;strong&gt;JIT(Just in time)Compiler&lt;/strong&gt;.Uning vazifasi dastur ishga tushganda IL codeni faqatgina kerakli qismini o'rnida compile qilib beradi.Bu orqali katta loyihalarda compile qilishda ko'p vaqt sarflanmaydi.&lt;br&gt;
Runtimening yana bir asosiy qismi &lt;strong&gt;GC(Garbage Collector)&lt;/strong&gt; deb ataladi.Buning vazifasi dastur tomonidan ishlatilib bo'lingan yoki keraksiz obyektlarni tozalab joyni sistemaga qaytarib beradi.Umuman olganda xotirani manage qilishda ishlatiladi.Bu komponentlar hammasi birlashib ya'ni  &lt;em&gt;(GC,JIT...)&lt;/em&gt; lar &lt;br&gt;
 &lt;strong&gt;CLR(Common Language Runtime)&lt;/strong&gt; ni hosil qiladi.CLR tayyor kodni ishga tushirib beruvchi barcha qurilamalar bilan jihozlangan dastur.&lt;br&gt;
C# da CLR,Kutubxonalar,Debugging qiluvchi va xatolarni aniqlovchi komponentlar birlashib .&lt;strong&gt;NET SDK&lt;/strong&gt; ni tashkil qiladi.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F39jqf6ldp2k0uiujnh0c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F39jqf6ldp2k0uiujnh0c.png" alt="Image description" width="800" height="443"&gt;&lt;/a&gt;&lt;br&gt;
.NET SDK o'rnatib olingandan so'ng avtomatik ravishda &lt;strong&gt;CLI(Command Line Interface)&lt;/strong&gt; dastur yuklab olinadi.Bu dastur terminal oynasida &lt;strong&gt;dotnet command&lt;/strong&gt; larni bajarishda ishlatiladi.&lt;br&gt;
List of dotnet CLI commands&lt;br&gt;
Command Function&lt;br&gt;
&lt;strong&gt;dotnet build&lt;/strong&gt;    Builds a .NET application.&lt;br&gt;
&lt;strong&gt;dotnet build-server&lt;/strong&gt; Interacts with servers started by a build.&lt;br&gt;
&lt;strong&gt;dotnet clean&lt;/strong&gt;    Clean build outputs.&lt;br&gt;
&lt;strong&gt;dotnet exec&lt;/strong&gt; Runs a .NET application.&lt;br&gt;
&lt;strong&gt;dotnet help&lt;/strong&gt; Shows more detailed documentation online for the command.&lt;br&gt;
&lt;strong&gt;dotnet migrate&lt;/strong&gt;  Migrates a valid Preview 2 project to a .NET Core SDK 1.0 project.&lt;br&gt;
&lt;strong&gt;dotnet msbuild&lt;/strong&gt;  Provides access to the MSBuild command line.&lt;br&gt;
&lt;strong&gt;dotnet new&lt;/strong&gt;  Initializes a C# or F# project for a given template.&lt;br&gt;
&lt;strong&gt;dotnet pack&lt;/strong&gt; Creates a NuGet package of your code.&lt;br&gt;
&lt;strong&gt;dotnet publish&lt;/strong&gt;  Publishes a .NET framework-dependent or self-contained application.&lt;br&gt;
&lt;strong&gt;dotnet restore&lt;/strong&gt;  Restores the dependencies for a given application.&lt;br&gt;
&lt;strong&gt;dotnet run&lt;/strong&gt;  Runs the application from source.&lt;br&gt;
&lt;strong&gt;dotnet sdk check&lt;/strong&gt;    Shows up-to-date status of installed SDK and Runtime versions.&lt;br&gt;
&lt;strong&gt;dotnet sln&lt;/strong&gt;  Options to add, remove, and list projects in a solution file.&lt;br&gt;
&lt;strong&gt;dotnet store&lt;/strong&gt;    Stores assemblies in the runtime package store.&lt;br&gt;
&lt;strong&gt;dotnet test&lt;/strong&gt; Runs tests using a test runner.&lt;br&gt;
For more commands &lt;a href="https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet"&gt;.NET CLI Commands&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>.NET Architecture</title>
      <dc:creator>Kudrat</dc:creator>
      <pubDate>Wed, 10 Apr 2024 13:41:03 +0000</pubDate>
      <link>https://dev.to/kudratswe/net-architecture-55l2</link>
      <guid>https://dev.to/kudratswe/net-architecture-55l2</guid>
      <description>&lt;p&gt;1.OOP tillarning barchasida dasturning eng kichik bo'lagi bu &lt;strong&gt;Obyekt&lt;/strong&gt;dir.Har bir obyekt ichida &lt;strong&gt;Data&lt;/strong&gt;(Ma'lumot) va &lt;strong&gt;Behavior&lt;/strong&gt;(Bajaradigan ishi) bo'ladi.Obyekt ichidagi &lt;em&gt;Data&lt;/em&gt; uning &lt;strong&gt;Property&lt;/strong&gt;si,&lt;em&gt;Behavior&lt;/em&gt; esa &lt;strong&gt;Method&lt;/strong&gt;i deb ataladi.Obyekt yaratishdan avval ularning maketi yoki andozasi yasab olinadi.Bu andoza &lt;strong&gt;Class&lt;/strong&gt; deb ataladi.Dastur kattalashgan sari klasslar soni oshib boradi.C# da o'xshash funksiyaga ega klasslar &lt;strong&gt;Namespace&lt;/strong&gt; ostida birlashtiriladi.Ko'pgina namespacelar birlashib &lt;strong&gt;Assembly&lt;/strong&gt; hosil qiladi.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
