第二單元 常用快捷鍵,註釋,變數

来源:https://www.cnblogs.com/xuyubing/archive/2023/05/29/17441046.html
-Advertisement-
Play Games

1. 註釋 不寫註釋的程式員都是耍流氓!!名字瞎起是更是土匪!!! 1. 單行文本註釋 static void Main(string[] args) { // 這是單行文本註釋,向控制台輸出一段字元串 Console.WriteLine("Hello World!"); Console.ReadL ...


1. 註釋

不寫註釋的程式員都是耍流氓!!名字瞎起是更是土匪!!!

1. 單行文本註釋

static void Main(string[] args)
{
    // 這是單行文本註釋,向控制台輸出一段字元串
    Console.WriteLine("Hello World!");
    Console.ReadLine();// 接收鍵盤輸入的一段字元串
}

2. 多行文本註釋

/**
 * 文本註釋分為三種
 * 1. 單行文本註釋
 * 2. 多行文本註釋
 * 3. 文檔註釋
 */
static void Main(string[] args)
{
    /*
     Console.WriteLine("Hello World!");
     Console.ReadLine();
     */
}

 

3. 文檔註釋

用於對類、方法、屬性進行標註說明。

/// <summary>
/// 程式的主類,CLR會自動找到此類,如果缺少Program類,程式報錯
/// </summary>
class Program
{
​
    /// <summary>
    /// 程式的主入口,程式剛運行時,CLR會自動找到此方法進行執行
    /// </summary>
    /// <param name="args">程式在運行時,可以傳遞的參數</param>
    static void Main(string[] args)
    {
        Console.WriteLine("Hello World!");
        Console.ReadLine();
​
    }
}

 

程式在編譯時,不會將註釋文本進行編譯。一般來說,註釋都是寫給程式員看的,方便別人進行閱讀。

2. VS中的常用快捷鍵

  • 自動對齊格式 : Ctrl +K+D

  • 撤銷: Ctrl +Z, 複製: Ctrl +C, 粘貼: Ctrl +V

  • 保存: Ctrl +S

  • 彈出智能提示: Ctrl +J

  • 註釋所選代碼 : Ctrl +K+C

  • 取消所選註釋: Ctrl +K +U

  • 查看幫助文檔: F1

  • 調試運行: F5

  • 運行(不調試): Ctrl + F5

  • 摺疊代碼:#region #EndRegion

3. 變數

人的大腦有腦記憶,可以用於存儲以前發生過的事物,同理,電腦的記憶體就相當於人的大腦,它用於存儲數據,而電腦中的變數就是就相當於現實生活發生過的一件件事一樣,保存於記憶體中。於是我們可以把變數稱為用於存儲數據的容器

現實生活中的事物有很多種類型:

  • 衣服 200 塊錢 ,整數類型

  • 小明的體重是:60.3 kg, 小數類型

  • 圓周率: PI ,3.1415926 , 高精度小數類型

  • 性別: M,W 字元類型

  • “系統當前繁忙,請稍候再拔”, 字元串類型

  • 季節:春夏秋冬,固定枚舉類型

  • 生日: 1998-08-08, 時間類型

  • 。。。。。。

1. 數據類型

  • 變數若按範圍分類,可以分為:局部變數,全局變數

  • 按成員分類:成員變數,非成員變數

  • 按記憶體分配分類: 值類型變數,引用類型變數

值類型

存儲在棧記憶體區的數據稱為值類型, 繼承(派生)於System.ValueType 類,而ValueType 繼承(派生)於System.Object, 正所謂 一切皆為object(對象)

類型描述範圍預設值全稱
bool 布爾值 True 或 False False System.Boolean
byte 8 位無符號整數 0 到 255 0 System.Byte
char 16 位 Unicode 字元 U +0000 到 U +ffff '\0' System.Char
decimal 128 位精確的十進位值,28-29 有效位數 (-7.9 x 1028 到 7.9 x 1028) / 100 到 28 0.0M System.Decimal
double 64 位雙精度浮點型 (+/-)5.0 x 10-324 到 (+/-)1.7 x 10308 0.0D System.Double
float 32 位單精度浮點型 -3.4 x 1038 到 + 3.4 x 1038 0.0F System.Single
int 32 位有符號整數類型 -2,147,483,648 到 2,147,483,647 0 System.Int32
long 64 位有符號整數類型 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 0L System.Int64
sbyte 8 位有符號整數類型 -128 到 127 0 System.SByte
short 16 位有符號整數類型 -32,768 到 32,767 0 System.Int16
uint 32 位無符號整數類型 0 到 4,294,967,295 0 System.UInt32
ulong 64 位無符號整數類型 0 到 18,446,744,073,709,551,615 0 System.UInt64
ushort 16 位無符號整數類型 0 到 65,535 0 System.UInt16
enum 枚舉數列表的常量組成的特殊數據類型     System.Enum
struct 結構體,封裝小型相關變數組,不常用      

不常用的數據類型:sbyte,uint,ulong,ushort,struct

引用類型

繼承(派生)於 System.Object

存儲在堆記憶體區的數據稱為引用類型。

聲明引用類型的關鍵字:class(類), interface(介面), delegate(委托)

C# 9.0 推出了 record( 記錄) 類型.

內置引用類型:dynamic, object, string

2. 值類型的使用

bool 真假類型

bool result = false; // = 代表賦值,將false 賦值給result變數
if (result==true)
{
    Console.WriteLine("result的值為真");
}
else
{
    Console.WriteLine("result的值為假");
}

if (!result) // 相當於 result==false
{
    Console.WriteLine("result的值為假");
}

if (result) // 相當於 result==true
{
    Console.WriteLine("result的值為真");
}

 

int 整形

int age = 30; // 聲明一個整數類型
Console.WriteLine("我的年齡是{0}歲",age);

 

long 長整形

long money = 300000L; // 長整形 ,以L結尾表示為長整形
long money2 = 30; // 30是int 類型,但money2 卻是長整形,存在隱式轉換

 

byte 位元組

byte age = 30;
byte age2 = 20;
Console.WriteLine("小明的年齡是{0},小紅的年齡是{1}",age,age2);

char 字元

char sex = '';
char sex2 = '';
Console.WriteLine("小明的性別是{0},小紅的性別是{1}",sex,sex2);

 

float 單精度小數

float price = 15.2f; // 單精度,註意要以f 或者F 結尾

double雙精度小數

double price= 3.14d; // 雙精度,註意要以d 或者D 結尾

 

decimal 高精度小數

decimal deciaml_pi = 3.141592614159261415926m;// 結果:3.141592614159261415926
double double_pi = 3.141592614159261415926d;  // 結果:3.1415926141592614
float float_pi = 3.141592614159261415926f;    // 結果:3.1415925

Console.WriteLine($"decimal小數{deciaml_pi},double 小數{double_pi},float小數:{float_pi}");

 

short 短整形

short money = 30; // 短整形,30是 int類型,money是short類型,存在隱式轉換

3. string 字元串

字元串是一串值不可變的字元數組。註意,是指向的值不變。

// 方式1(推薦):直接使用字元串賦值
string msg="china";
Console.WriteLine(msg);

// 方式2:字元數組
string msg2 = new string(new char[]{ 'c', 'h', 'i', 'n', 'a' });
Console.WriteLine(msg2);

 

為什麼String指向的值不變

string msg= "china";
msg="chinese"; 
Console.WriteLine(msg); // 輸出結果 chinese,不是說好的值不變麽?

 

從上圖中可以看出, msg存在棧記憶體中,字元串是引用類型,值存儲於堆記憶體中。剛 開始msg指向“china” 這個字元串,後來重新賦值後, msg被重新指向新的記憶體地址,也就是“chinese”。

並不是值被修改了,而是msg指向的記憶體地址變了而已

4. 變數命名規範

  1. 所有命名必須有意義

  2. 本地變數命名第一個字母小寫,其他單詞首字母大寫:id, firstName, 我們稱之為 Camel 命名法(小駝峰命名法)

  3. 變數只能是 "_" 下劃線, 數字 ,字母組成,並且只能是下劃線或者字母開頭,不能是關鍵字或者保留字

5. C# 中的關鍵字

 

6. 常量

常量是在編譯時設置其值並且永遠不能更改其值的欄位。 使用常量可以為特殊值提供有意義的名稱,而不是數字文本(“幻數”)。

在 C# 中,常量不能被static 修飾,如:public static const string SITE_NAME = "任我行網路科技"; 則是錯誤的定義格式。

若要定義整型類型(intbyte 等)的常量值,請使用枚舉類型。 有關詳細信息,請參閱枚舉

class Program
{
    public const double PI = 3.14159;
    public const int PRICE_OF_GOLD = 380; // 金價
    public const string SITE_NAME = "任我行網路科技";
    static void Main()
    {
        double radius = 5.3;
        double area = PI * (radius * radius);
        int totalPrice = 3 * PRICE_OF_GOLD; 
        Console.WriteLine(totalPrice);
        Console.WriteLine(area);
    }
}

 

常量命名規範

全大寫,如果遇到多個單詞,則中間以“_” 隔開,如:PRICE_OF_GOLD

7. 作業

  1. VS中常用的快捷鍵有哪些

  2. 文檔註釋可以作用在哪些地方

  3. 屬於整形的類型有哪些?

  4. 值類型與引用類型的區別是什麼?

  5. 判斷題, 以下哪些變數的命名以及表達式是正確的

    int _a = 100;
    ​
    double b = 10.2;
    ​
    int 2a= 10;
    ​
    int a2 = 10;
    ​
    int b$=20;
    ​
    float c = 20.5;
    ​
    decimal c2 = 20.5;
    ​
    short d = 128;
    ​
    short d_2 = 10;
    ​
    long e = 20 ;
    ​
    long e2 = 20.2;
    ​
    string s = 'hello';
    ​
    char ch = 'world';

  

視頻教程:

譽尚學教育_譽尚學教育騰訊課堂官網 (qq.com)
或者:
C# 最強入門編程(.Net 學習系列開山巨作)_嗶哩嗶哩_bilibili

海闊平魚躍,天高任我行,給我一片藍天,讓我自由翱翔。
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 摘要:Python Web程式員必看系列,學習如何壓縮 JS 代碼。 本文分享自華為雲社區《Python壓縮JS文件,PythonWeb程式員必看系列,重點是 slimit》,作者: 夢想橡皮擦 。 本篇博客將學習壓縮 JS 代碼,首先要學習的模塊是 jsmin。 jsmin 庫 Python 中的 ...
  • ## 文章首發 [【重學C++】05 | 說透右值引用、移動語義、完美轉發(下)](https://mp.weixin.qq.com/s/w7yXp6efE7_V0EHxXWJiJA) ## 引言 大家好,我是只講技術乾貨的會玩code,今天是【重學C++】的第五講,在第四講《[【重學C++】04 ...
  • 面試題==知識點,這裡所記錄的面試題並不針對於面試者,而是將這些面試題作為技能知識點來看待。不以刷題進大廠為目的,而是以學習為目的。這裡的知識點會持續更新,目錄也會隨時進行調整。 ...
  • 在Winform中動態讀寫app.config文件 https://blog.csdn.net/kingmax54212008/article/details/38987277?spm=1001.2101.3001.6650.7&utm_medium=distribute.pc_relevant.n ...
  • Winform中通過自帶的App.config實現從配置文件中讀取配置 場景 Winform中實現保存配置到文件/項目啟動時從文件中讀取配置(序列化與反序列化對象): Winform中實現保存配置到文件/項目啟動時從文件中讀取配置(序列化與反序列化對象)_winform 讀取配置文件_霸道流氓氣質的 ...
  • # 什麼是線程 Thread - 線程是一個可執行路徑,它可以獨立於其它線程執行。 - 每個線程都在操作系統的進程(Process)內執行,而操作系統進程提供了程式運行的獨立環境。 - 單線程應用,在進程的獨立環境里只跑一個線程,所以該線程擁有獨占權 - 多線程應用,單個進程中會跑多個線程,它們會共 ...
  • 1. 函數(方法)的簡介 函數,在C# 中更多的被稱為方法。它表示一個的類所具有的行為(方法,函數)。 方法的作用 封裝一些公共的代碼,以達到功能重覆利用,減少代碼冗餘。例如,我們經常要進行 輸入,輸出,系統於是幫我們封裝好了 Console.WriteLine(), Console.ReadLin ...
  • 指的是從一種類型,轉換為另外一種類型。例如:“123” 字元串 可以轉換為 整形 123。 類型轉換分為:強制轉換 (顯示轉換)與 隱式轉換 按記憶體分類:裝箱,拆箱 1. 隱式轉換 對於內置數值類型,如果要存儲的值無需截斷或四捨五入即可適應變數,則可以進行隱式轉換。 對於整型類型,這意味著源類型的範 ...
一周排行
    -Advertisement-
    Play Games
  • 概述:在C#中,++i和i++都是自增運算符,其中++i先增加值再返回,而i++先返回值再增加。應用場景根據需求選擇,首碼適合先增後用,尾碼適合先用後增。詳細示例提供清晰的代碼演示這兩者的操作時機和實際應用。 在C#中,++i 和 i++ 都是自增運算符,但它們在操作上有細微的差異,主要體現在操作的 ...
  • 上次發佈了:Taurus.MVC 性能壓力測試(ap 壓測 和 linux 下wrk 壓測):.NET Core 版本,今天計劃準備壓測一下 .NET 版本,來測試並記錄一下 Taurus.MVC 框架在 .NET 版本的性能,以便後續持續優化改進。 為了方便對比,本文章的電腦環境和測試思路,儘量和... ...
  • .NET WebAPI作為一種構建RESTful服務的強大工具,為開發者提供了便捷的方式來定義、處理HTTP請求並返迴響應。在設計API介面時,正確地接收和解析客戶端發送的數據至關重要。.NET WebAPI提供了一系列特性,如[FromRoute]、[FromQuery]和[FromBody],用 ...
  • 原因:我之所以想做這個項目,是因為在之前查找關於C#/WPF相關資料時,我發現講解圖像濾鏡的資源非常稀缺。此外,我註意到許多現有的開源庫主要基於CPU進行圖像渲染。這種方式在處理大量圖像時,會導致CPU的渲染負擔過重。因此,我將在下文中介紹如何通過GPU渲染來有效實現圖像的各種濾鏡效果。 生成的效果 ...
  • 引言 上一章我們介紹了在xUnit單元測試中用xUnit.DependencyInject來使用依賴註入,上一章我們的Sample.Repository倉儲層有一個批量註入的介面沒有做單元測試,今天用這個示例來演示一下如何用Bogus創建模擬數據 ,和 EFCore 的種子數據生成 Bogus 的優 ...
  • 一、前言 在自己的項目中,涉及到實時心率曲線的繪製,項目上的曲線繪製,一般很難找到能直接用的第三方庫,而且有些還是定製化的功能,所以還是自己繪製比較方便。很多人一聽到自己畫就害怕,感覺很難,今天就分享一個完整的實時心率數據繪製心率曲線圖的例子;之前的博客也分享給DrawingVisual繪製曲線的方 ...
  • 如果你在自定義的 Main 方法中直接使用 App 類並啟動應用程式,但發現 App.xaml 中定義的資源沒有被正確載入,那麼問題可能在於如何正確配置 App.xaml 與你的 App 類的交互。 確保 App.xaml 文件中的 x:Class 屬性正確指向你的 App 類。這樣,當你創建 Ap ...
  • 一:背景 1. 講故事 上個月有個朋友在微信上找到我,說他們的軟體在客戶那邊隔幾天就要崩潰一次,一直都沒有找到原因,讓我幫忙看下怎麼回事,確實工控類的軟體環境複雜難搞,朋友手上有一個崩潰的dump,剛好丟給我來分析一下。 二:WinDbg分析 1. 程式為什麼會崩潰 windbg 有一個厲害之處在於 ...
  • 前言 .NET生態中有許多依賴註入容器。在大多數情況下,微軟提供的內置容器在易用性和性能方面都非常優秀。外加ASP.NET Core預設使用內置容器,使用很方便。 但是筆者在使用中一直有一個頭疼的問題:服務工廠無法提供請求的服務類型相關的信息。這在一般情況下並沒有影響,但是內置容器支持註冊開放泛型服 ...
  • 一、前言 在項目開發過程中,DataGrid是經常使用到的一個數據展示控制項,而通常表格的最後一列是作為操作列存在,比如會有編輯、刪除等功能按鈕。但WPF的原始DataGrid中,預設只支持固定左側列,這跟大家習慣性操作列放最後不符,今天就來介紹一種簡單的方式實現固定右側列。(這裡的實現方式參考的大佬 ...