<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # C# 基礎 > 原文: [https://zetcode.com/lang/csharp/basics/](https://zetcode.com/lang/csharp/basics/) 在 C# 教程的這一部分中,我們將介紹 C# 語言的基本編程概念。 我們介紹非常基本的程序。 我們處理變量,常量和基本數據類型。 我們在控制臺上讀寫; 我們提到了變量插值。 ## C# 簡單示例 我們從一個非常簡單的代碼示例開始。 `Program.cs` ```cs using System; namespace Simple { class Program { static void Main(string[] args) { Console.WriteLine("This is C#"); } } } ``` 這是我們的第一個 C# 程序。 它將在控制臺中顯示`"This is C#"`消息。 我們將逐行解釋。 ```cs using System; ``` `using`關鍵字將特定的名稱空間導入我們的程序。 創建命名空間是為了將命名實體與其他實體進行分組和/或區分。 這樣可以防止名稱沖突。 這行是 C# 語句。 每個語句以分號結尾。 ```cs namespace Simple { ``` 我們聲明一個名稱空間。 命名空間用于組織代碼并防止名稱沖突。 ```cs class Program { ... } ``` 每個 C# 程序都是結構化的。 它由類及其成員組成。 類是 C# 程序的基本構建塊。 上面的代碼是一個類定義。 該定義具有一個主體,該主體以左花括號(`{`)開始,以右花括號(`}`)結尾。 ```cs static void Main(string[] args) { ... } ``` `Main()`是一種方法。 方法是為執行特定工作而創建的一段代碼。 我們沒有將所有代碼放在一個地方,而是將其分為多個部分,稱為方法。 這為我們的應用帶來了模塊化。 每個方法都有一個主體,我們在其中放置語句。 方法的主體用大括號括起來。 `Main()`方法的特定工作是啟動應用。 它是每個控制臺 C# 程序的入口點。 該方法聲明為`static`。 無需創建`Program`類的實例即可調用此靜態方法。 首先,我們需要啟動應用,然后,我們能夠創建類的實例。 `Main()`方法具有`args`參數,該參數存儲命令行參數。 ```cs Console.WriteLine("This is C#"); ``` 在此代碼行中,我們將`"This is C#"`字符串打印到控制臺。 要將消息打印到控制臺,我們使用`Console`類的`WriteLine()`方法。 該類表示控制臺應用的標準輸入,輸出和錯誤流。 請注意,`Console`類是`System`命名空間的一部分。 這行是使用`using System;`語句導入名稱空間的原因。 如果不使用該語句,則必須使用`WriteLine()`方法的完全限定名稱:`System.Console.WriteLine("This is C#");`。 ```cs $ dotnet run This is C# ``` 執行程序將得到以上輸出。 ## C# 控制臺讀取值 我們也可以使用`Console`類讀取值。 `Program.cs` ```cs using System; namespace ReadLine { class Program { static void Main(string[] args) { Console.Write("Enter your name: "); string name = Console.ReadLine(); Console.WriteLine("Hello {0}", name); } } } ``` 第二個程序從控制臺讀取一個值并打印出來。 ```cs string name = Console.ReadLine(); ``` 我們從終端讀取一行。 當我們按下`Enter`鍵時,輸入將分配給`name`變量。 輸入存儲在`name`變量中,該變量聲明為`string`類型。 ```cs Console.WriteLine("Hello {0}", name); ``` 在此代碼行中,我們進行字符串格式化。 `{0}`指示符替換為`name`變量的值。 ```cs $ dotnet run Enter your name: Jan Hello Jan ``` 這是第二個程序的輸出。 ## C# 命令行參數 C# 程序可以接收命令行參數。 當我們運行程序時,它們會遵循程序的名稱。 `Program.cs` ```cs using System; namespace CommandLineArgs { class Program { static void Main(string[] args) { for (int i = 0; i < args.Length; i++) { Console.WriteLine("{0}", args[i]); } } } } ``` 命令行參數可以傳遞給`Main()`方法。 ```cs public static void Main(string[] args) ``` `Main()`方法接收命令行參數的字符串數組。 ```cs for (int i=0; i<args.Length; i++) { Console.WriteLine("{0}", args[i]); } ``` 我們使用`for`循環遍歷這些參數的數組,并將它們打印到控制臺。 `Length`屬性給出數組中元素的數量。 循環和數組將在后面更詳細地描述。 ```cs $ dotnet run 1 2 3 1 2 3 ``` 我們提供了三個數字作為命令行參數,并將它們打印到控制臺上。 ## C# 變量 變量是存儲數據的地方。 變量具有名稱和數據類型。 數據類型確定可以為變量分配哪些值,例如整數,字符串或布爾值。 隨著時間的推移,程序變量可以獲得相同數據類型的各種值。 在對變量進行任何引用之前,始終將變量初始化為其類型的默認值。 `Program.cs` ```cs using System; namespace Variables { class Program { static void Main(string[] args) { string city = "New York"; string name = "Paul"; int age = 35; string nationality = "American"; Console.WriteLine(city); Console.WriteLine(name); Console.WriteLine(age); Console.WriteLine(nationality); city = "London"; Console.WriteLine(city); } } } ``` 在示例中,我們有四個變量。 ```cs string city = "New York"; ``` 我們聲明一個字符串類型的`city`變量,并將其初始化為`"New York"`值。 ```cs string name = "Paul"; int age = 35; ``` 我們聲明并初始化另外兩個變量。 我們可以將兩個語句放在一行上。 但是出于可讀性原因,每個語句應放在單獨的行上。 ```cs Console.WriteLine(city); Console.WriteLine(name); Console.WriteLine(age); Console.WriteLine(nationality); ``` 我們將變量的值打印到終端。 ```cs city = "London"; ``` 我們為`city`變量分配一個新值。 ```cs $ dotnet run New York Paul 35 American London ``` 這是示例的輸出。 ## `var`關鍵字 可以使用`var`關鍵字隱式地鍵入方法范圍內的變量。 變量始終是強類型,但是使用`var`時,C# 編譯器從賦值的右側推斷類型。 `Program.cs` ```cs using System; namespace ImplicitType { class Program { static void Main(string[] args) { var name = "Peter"; var age = 23; Console.WriteLine("{0} is {1} years old", name, age); name = "Jozef"; age = 32; Console.WriteLine("{0} is {1} years old", name, age); Console.WriteLine(name.GetType()); Console.WriteLine(age.GetType()); } } } ``` 在程序中,我們有兩個隱式類型的變量。 ```cs var name = "Peter"; var age = 23; ``` 在分配的左側,我們使用`var`關鍵字。 `name`變量為`string`類型,`age`為`int`類型。 從分配的右側推斷類型。 ```cs Console.WriteLine(name.GetType()); Console.WriteLine(age.GetType()); ``` 我們用`GetType()`確定變量的類型。 ```cs $ dotnet run Peter is 23 years old Jozef is 32 years old System.String System.Int32 ``` 這是輸出。 ## C# `List`集合 盡管變量保留單個值,但可以將多個值添加到集合中。 `List`是元素的序列,可以通過使用`[]`進行索引操作來訪問。 列表中的元素可以使用例如 `foreach`關鍵字。 `Program.cs` ```cs using System; using System.Collections.Generic; namespace ListCollection { class Program { static void Main(string[] args) { var words = new List<string> { "stone", "rock", "falcon", "sky" }; Console.WriteLine(words[2]); Console.WriteLine(); foreach (var word in words) { Console.WriteLine(word); } } } } ``` 在示例中,我們處理單詞列表。 ```cs using System.Collections.Generic; ``` 為了使用`List`,我們需要導入`System.Collections.Generic`命名空間。 ```cs var words = new List<string> { "stone", "rock", "falcon", "sky" }; ``` 使用`new`關鍵字創建一個列表對象。 在尖括號`<>`之間,我們指定列表元素的數據類型。 該列表用大括號`{}`中的元素初始化。 ```cs Console.WriteLine(words[2]); ``` 在這里,我們將第三個元素打印到控制臺。 (索引從 0 開始。) ```cs foreach (var word in words) { Console.WriteLine(word); } ``` 使用`foreach`循環,我們遍歷列表的所有元素并將其打印到控制臺。 在每個循環中,`word`變量都被指定為列表中的元素之一。 ```cs $ dotnet run falcon stone rock falcon sky ``` This is the output. ## C# 丟棄 丟棄是特殊的只寫變量,用于丟棄程序員不感興趣的值。 `_`(下劃線字符)用于丟棄。 `Program.cs` ```cs using System; namespace SimpleDiscard { class Program { static void Main(string[] args) { var vals = (1, 2, 3, 4, 5, 6); (int x, int y, int z, _, _, _) = vals; Console.WriteLine(x); Console.WriteLine(y); Console.WriteLine(z); } } } ``` 該示例定義值的元組。 通過使用解構操作,我們將元組的值分配給變量。 ```cs var vals = (1, 2, 3, 4, 5, 6); ``` 我們定義了六個值的元組。 元組是有序的異構元素的集合。 ```cs (int x, int y, int z, _, _, _) = vals; ``` 說,我們只對元組的前三個值感興趣。 在分配的左側,我們定義了三個變量:`x`,`y`和`y`。 由于`vals`元組具有六個元素,因此我們也需要在左側具有六個變量。 在這里,我們可以將`_`字符用于其余變量。 通過這種方式,我們表明當前這些值對我們并不重要,我們將不使用它們。 ## C# `Range()`方法 `Range()`方法生成指定范圍內的數字序列。 第一個參數是序列中第一個整數的值。 第二個參數是要生成的連續整數的數量。 `Program.cs` ```cs using System; using System.Linq; namespace RangeEx { class Program { static void Main(string[] args) { foreach(var el in Enumerable.Range(1, 10)) { Console.WriteLine(el); } } } } ``` 該示例使用`foreach`循環將值`1..10`打印到終端。 整數序列是用`Range()`方法生成的。 ## C# 常數 與變量不同,常量保留其值。 一旦初始化,便無法修改。 使用`const`關鍵字創建常量。 `Program.cs` ```cs using System; namespace Constants { class Program { static void Main(string[] args) { const int WIDTH = 100; const int HEIGHT = 150; int var = 40; var = 50; // WIDTH = 110; } } } ``` 在此示例中,我們聲明兩個常量和一個變量。 ```cs const int WIDTH = 100; const int HEIGHT= 150; ``` 我們使用`const`關鍵字通知編譯器我們聲明了一個常量。 按照慣例,用大寫字母寫常量。 ```cs int var = 40; var = 50; ``` 我們聲明并初始化一個變量。 稍后,我們為變量分配一個新值。 ```cs // WIDTH = 110; ``` 使用常數是不可能的。 如果取消注釋此行,則會出現編譯錯誤。 ## C# 字符串格式 從變量構建字符串是編程中非常常見的任務。 C# 具有`string.Format()`方法來格式化字符串。 `Program.cs` ```cs using System; namespace StringFormat { class Program { static void Main(string[] args) { int age = 34; string name = "William"; string msg = string.Format("{0} is {1} years old.", name, age); Console.WriteLine(msg); } } } ``` 字符串在 C# 中是不可變的。 我們無法修改現有字符串。 我們必須從現有字符串和其他類型創建一個新字符串。 在代碼示例中,我們創建一個新字符串。 我們還使用來自兩個變量的值。 ```cs int age = 34; string name = "William"; ``` 在這里,我們定義兩個變量。 ```cs string msg = string.Format("{0} is {1} years old.", name, age); ``` 我們使用內置字符串類的`Format()`方法。 `{0}`和`{1}`是求值變量的地方。 數字代表變量的位置。 `{0}`計算得出第一個提供的變量,`{1}`計算得出第二個變量。 ```cs $ dotnet run William is 34 years old. ``` 這是程序的輸出。 ## C# 字符串插值 一些動態語言(如 Perl,PHP 或 Ruby)支持字符串/變量插值。 變量插值是用字符串字面值中的值替換變量。 從 C# 6.0 開始,C# 支持變量插值。 `Program.cs` ```cs using System; namespace VariableInterpolation { class Program { static void Main(string[] args) { string name = "Peter"; int age = 34; string msg = $"{name} is {age} years old"; Console.WriteLine(msg); } } } ``` 在代碼示例中,我們使用變量插值構建字符串。 ```cs string msg = $"{name} is {age} years old"; ``` 字符串前面帶有`$`字符,并且變量在大括號內。 ```cs $ dotnet run Peter is 34 years old ``` This is the output of the program. 本章介紹了 C# 語言的一些基礎知識。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看