日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#教程3:基本语言结构

發布時間:2025/3/21 C# 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#教程3:基本语言结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????????在 C# 教程的這一部分中,我們介紹了 C# 語言的基本編程概念。我們介紹非常基本的程序。我們使用變量、常量和基本數據類型。我們讀寫控制臺;我們提到了變量插值。

一、 C# 常規示例

Program.cs using System;namespace Simple {class Program{static void Main(string[] args){Console.WriteLine("This is C#");}} }

程序將“This is C#”消息打印到控制臺。我們逐行解釋。

using System;

????????using 關鍵字將特定的命名空間導入我們的程序。創建命名空間是為了對命名實體進行分組和/或將命名實體與其他實體區分開來。這可以防止名稱沖突。此行是 C# 語句。每個語句都以分號結束。

?namespace Simple

????????我們聲明一個命名空間。命名空間用于組織代碼并防止名稱沖突。

class Programe
{
??? ...
}

????????每個 C# 程序都是結構化的。它由類及其成員組成。類是 C# 程序的基本構建塊。上面的代碼是一個類定義。定義有一個主體,以左花括號 { 開始,以右花括號 } 結束。

static void Main(string[] args)
{
??? ...
}

????????Main是一種方法。方法是為完成特定工作而創建的一段代碼。我們不是將所有代碼都放在一個地方,而是將其分成幾部分,稱為方法。這為我們的應用程序帶來了模塊化。每個方法都有一個主體,我們在其中放置語句。方法的主體用大括號括起來。

????????Main 方法的具體工作是啟動應用程序。它是每個控制臺 C# 程序的入口點。該方法被聲明為靜態的。無需創建 Program 類的實例即可調用此靜態方法。首先我們需要啟動應用程序,然后,我們可以創建類的實例。 void 關鍵字表示該方法不返回任何值。 (方法可能會也可能不會返回值。)

????????Main 方法有 args 參數,它存儲命令行參數。通過命令行參數,程序的用戶可以傳遞它的值。

Console.WriteLine("This is C#");

????????在此代碼行中,我們將“This is C#”字符串打印到控制臺。要將消息打印到控制臺,我們使用 Console 類的 WriteLine 方法。該類代表控制臺應用程序的標準輸入、輸出和錯誤流。請注意,Console 類是 System 命名空間的一部分。這一行是使用 using System 導入命名空間的原因;陳述。如果我們不使用該語句,我們將不得不使用 WriteLine 方法的完全限定名稱:System.Console.WriteLine("This is C#");。

$ dotnet run This is C#

二、近代簡化的C#示例

????????多年來,C# 得到了顯著改進和簡化。對于初學者來說,該語言變得更加平易近人。

Program.cs

namespace Simple;class Program {static void Main(string[] args){Console.WriteLine("This is C#");} }

從 C# 10 開始,我們可以省略 using System;陳述。它會自動包含在隱式使用中。

namespace Simple;

????????此外,命名空間聲明也可以減少(C# 10)。這稱為文件范圍的命名空間,它減少了對塊和縮進的需求。


????????使用頂級語句 (C# 9),我們可以進一步簡化代碼。我們不需要使用 Main 方法作為起點,代碼也不必放在應用程序類中。

Note:?Only one file in the application may use top-level statements.

????????對于小程序,我們也可以省略命名空間聲明。

Program.cs

Console.WriteLine("This is C#");

????????現在,原來的 12 行代碼示例被縮減為單行代碼。

三、C# 控制臺讀入數據

我們也可以使用 Console 類來讀取值。

Program.cs

Console.Write("Enter your name: "); string name = Console.ReadLine(); Console.WriteLine($"Hello {name}");
  • 此處Console.Write、Console.WriteLine相當于C語言的print語句。

第二個程序從控制臺讀取一個值并打印出來。

string name = Console.ReadLine();

  • Console.ReadLine()此處相當于c語言的input語句

????????我們從終端讀取了一行。當我們按下 Enter 鍵時,輸入被分配給 name 變量。輸入存儲在名稱變量中,該變量聲明為字符串類型。

Console.WriteLine($"Hello {name}");

????????在此代碼行中,我們進行字符串格式化。 {name} 說明符被替換為 name 變量的值。

$ dotnet run Enter your name: Jan Hello Jan

四、C#?命令行參數

????????C# 程序可以接收命令行參數。當我們運行它時,它們遵循程序的名稱。 C# 程序在 args 字符串數組中接收命令行參數。

Program.cs

for (int i = 0; i < args.Length; i++) {Console.WriteLine($"{args[i]}"); }

????????命令行參數可以傳遞給 Main 方法。

for (int i = 0; i < args.Length; i++) {Console.WriteLine($"{args[i]}"); }

????????我們使用 for 循環遍歷這些參數的數組并將它們打印到控制臺。 Length 屬性給出了數組中元素的數量。稍后將更詳細地描述循環和數組。

$ dotnet run 1 2 3 1 2 3

????????我們提供三個數字作為命令行參數,并將它們打印到控制臺。

五、C# 變量

????????變量是存儲數據的地方。變量具有名稱和數據類型。數據類型確定可以為變量分配哪些值,例如整數、字符串或布爾值。隨著時間的推移,程序變量可以獲得相同數據類型的各種值。在對變量進行任何引用之前,變量總是被初始化為其類型的默認值。

Program.cs

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);

????????示例中有四個參數

string city = "New York";

????????我們聲明一個字符串類型的城市變量并將其初始化為“New York”值。

string name = "Paul"; int age = 35;

????????我們聲明并初始化另外兩個變量。我們可以將兩個語句放在一行上。但是出于可讀性的原因,每個語句都應該在單獨的行上。

Console.WriteLine(city); Console.WriteLine(name); Console.WriteLine(age); Console.WriteLine(nationality);

我們將變量的值打印到終端。

city = "London";

我們為城市變量分配了一個新值。

$ dotnet run New York Paul 35 American London

六、var變量的鍵值

????????可以使用 var 關鍵字隱式鍵入方法范圍內的變量。變量始終是強類型的,但對于 var,類型是由 C# 編譯器從賦值的右側推斷出來的。

Program.cs

var name = "Peter"; var age = 23;Console.WriteLine($"{name} is {age} years old");name = "Jozef"; age = 32;Console.WriteLine($"{name} is {age} years old");Console.WriteLine(name.GetType()); Console.WriteLine(age.GetType());

在程序中,我們有兩個隱式類型變量。

var name = "Peter"; var age = 23;

????????在語句的左側,我們使用 var 關鍵字。名稱變量為字符串類型,年齡為 int。類型是從賦值的右側推斷出來的。

Console.WriteLine(name.GetType()); Console.WriteLine(age.GetType());

我們使用 GetType 確定變量的類型。

$ dotnet run
Peter is 23 years old
Jozef is 32 years old
System.String
System.Int32



七 C#列表類型

????????雖然變量保存單個值,但可以將多個值添加到集合中。列表是一系列元素,可以通過使用 [] 進行索引操作來訪問。可以使用例如遍歷列表的元素foreach 關鍵字。

????????List 類型位于 System.Collections.Generic 中,它包含在隱式 usings 中。

Program.cs

var words = new List<string> { "stone", "rock", "falcon", "sky" };Console.WriteLine(words[2]);Console.WriteLine();foreach (var word in words) {Console.WriteLine(word); }

在示例中,我們處理了一個單詞列表。

var words = new List<string> { "stone", "rock", "falcon", "sky" };

????????使用新關鍵字創建一個列表對象。在尖括號 <> 之間,我們指定列表元素的數據類型。該列表使用大括號 {} 內的元素進行初始化。

Console.WriteLine(words[2]);

在這里,我們將第三個元素打印到控制臺。 (索引從 0 開始。)

foreach (var word in words) {Console.WriteLine(word); }

????????使用 foreach 循環,我們遍歷列表的所有元素并將它們打印到控制臺。在每個循環中,單詞變量被賦予列表中的一個元素。

$ dotnet run falconstone rock falcon sky

八、C# 丟棄的參量(元組操作)

????????丟棄是特殊的只寫變量,用于丟棄程序員不感興趣的值。 _(下劃線字符)用于丟棄。

Program.cs

var vals = (1, 2, 3, 4, 5, 6); (int x, int y, int z, _, _, _) = vals; Console.WriteLine(x); Console.WriteLine(y); Console.WriteLine(z);

????????該示例定義了一個值元組。通過使用解構操作,我們將元組的值分配給變量。

var vals = (1, 2, 3, 4, 5, 6);

我們定義了一個包含六個值的元組。元組是有序的異構元素的集合。

(int x, int y, int z, _, _, _) = vals;

????????比如說,我們只對元組的前三個值感興趣。在賦值的左側,我們定義了三個變量:x、y 和 y。由于 vals 元組有六個元素,我們需要在左側也有六個變量。在這里,我們可以將 _ 字符用于其余變量。通過這種方式,我們表明目前這些值對我們來說并不重要,我們不會使用它們。

九、C# 范圍函數

????????Range 方法生成指定范圍內的數字序列。第一個參數是序列中第一個整數的值。第二個參數是要生成的連續整數的數量。

Program.cs

foreach(var el in Enumerable.Range(1, 10)) {Console.WriteLine(el); }

????????該示例使用 foreach 循環將值 1..10 打印到終端。整數序列是使用 Range 方法生成的。

十、C# 常量

????????與變量不同,常量保留其值。一旦初始化,它們就不能被修改。常量是使用 const 關鍵字創建的。

Program.cs

const int WIDTH = 100; const int HEIGHT = 150; int var = 40;var = 50;// WIDTH = 110;

????????在這個例子中,我們聲明了兩個常量和一個變量。

const int WIDTH = 100; const int HEIGHT= 150;

????????我們使用 const 關鍵字通知編譯器我們聲明了一個常量。以大寫字母書寫常量是一種慣例。

int var = 40;var = 50;

????????我們聲明并初始化一個變量。稍后,我們為變量分配一個新值。

// WIDTH = 110;

????????這對于常數是不可能的。如果我們取消注釋這一行,我們會得到一個編譯錯誤。

十一、C# 字符串格式

????????從變量構建字符串是編程中非常常見的任務。 C# 有 string.Format 方法來格式化字符串。

Program.cs

int age = 34; string name = "William";string msg = string.Format("{0} is {1} years old.", name, age); Console.WriteLine(msg);

????????字符串在 C# 中是不可變的。我們無法修改現有字符串。我們必須從現有字符串和其他類型創建一個新字符串。在代碼示例中,我們創建了一個新字符串。我們還使用來自兩個變量的值。

int age = 34; string name = "William";

Here we define two variables.

string msg = string.Format("{0} is {1} years old.", name, age);

????????我們使用內置字符串類的 Format 方法。 {0}、{1} 是評估變量的位置。數字代表變量的位置。 {0} 對第一個提供的變量求值,{1} 對第二個變量求值。

$ dotnet run William is 34 years old.

十二、C#?字符串插值

????????一些動態語言如 Perl、PHP 或 Ruby 支持字符串/變量插值。變量插值是用字符串文字中的值替換變量。 C# 自 C# 6.0 起支持變量插值。

Program.cs

string name = "Peter"; int age = 34;string msg = $"{name} is {age} years old";Console.WriteLine(msg);

????????在代碼示例中,我們使用變量插值構建字符串。

string msg = $"{name} is {age} years old";

字符串以 $ 字符開頭,變量在大括號內。

$ dotnet run Peter is 34 years old

參考地址

C# basics - covering basics of C# (zetcode.com)

QPainter類使用詳解_程序猿老樊的博客-CSDN博客_qpainter的使用

總結

以上是生活随笔為你收集整理的C#教程3:基本语言结构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。