面對未來,你值得擁有的C#基礎(1)

前言:學習筆記,本文在逐步完善中。

一,第一個C#程序

下載vs2019或VS2017,雖然需要密鑰,但是你可以百度啊

啓動VS2019,點擊“ 創建新項目(N) ”,步驟如圖所示:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//前五行是自動生成的代碼,引用默認的命名空間
namespace ConsoleApp1  //自動生成的命名空間,該命名空間的名稱默認與創建的項目名稱相同,
								//開發人員可手動修改
{
    class Program	//自動生成的Program類,該類是C#程序的啓動類,可以手動修改
    {				
        static void Main(string[] args)  // 自動生成的Main方法,用來作爲程序的主入口方法
        									//每個C#程序都必須有一個Main()方法
        {
            Console.WriteLine("Hello World"); //Console.WriteLine方法主要向控制檯輸出文本
            Console.ReadLine();	//Console.ReadLine方法主要用來獲取控制檯的輸出內容
            					//這裏用來將控制檯窗體定位在桌面上,
            					//可以試試註釋掉這一行,運行一下看看效果,你會看到控制檯一閃而過
        }
    }
}

二,C#程序結構預覽

在這裏插入圖片描述

(1) 命名空間

C#程序的命名空間就像是一個包含不同類型物品的倉庫,而using指令就好比一把鑰匙,命名空間的名稱就好比是倉庫的名稱,用戶可以通過鑰匙打開指定名稱的倉庫,進而從倉庫中獲取所需要的物品。
如果要調用某個命名空間中的類或方法,首先需要使用using指令引入命名空間,這樣,就可以直接使用該命名空間中所包含的成員(包括類及類中的屬性,方法等)。

在使用Visual Studio創建項目時,會自動生成一個與項目名稱相同的命名空間。例如在創建項目時使用默認項目名:ConsoleApp1時,會自動生成一個名稱爲“ConsoleApp1”的命名空間。

 //自動生成的命名空間,該命名空間的名稱默認與創建的項目名稱相同,開發人員可手動修改
namespace ConsoleApp1 
{

}

在C#程序中定義命名空間,需要使用關鍵字namespace:

namespace 命名空間名
{
}
(2) 類

C#程序的主要功能代碼都是在類中實現的。類是一種數據結構,可以封裝數據成員,方法成員和其他類。因此,類是C#的核心和基本構成模塊。C#支持自定義類,使用C#就是編寫自己的類來描述實際需要解決的問題。

(3) 關鍵字與標識符
a. 關鍵字

關鍵字是C#中已經被賦予特定意義的一些單詞,在開發程序時,不可以把這些關鍵字作爲命名空間,類,方法或屬性等來使用。

b. 標識符

標識符可以簡單的理解爲人的名字,比如,每個人都有自己的名字。它主要用來表示類名,變量名,方法名,屬性名,數組名等各種成員。

(4) Main方法

每個C#程序都必須包含一個Main方法,它是類體中的主方法,也稱爲主入口方法,是激活整個程序的開關。

在Visual Studio中創建控制檯應用程序後,會自動生成一個Program.cs文件,該文件有個默認的Main方法:

class Program
{
	static void Main(string[] args)
	{
	
	}
}

Main方法從“ { ”開始,到“ } ”結束。

static 和 void分別是Main方法的靜態修飾符和返回值修飾符,C#程序中的Main方法必須聲明爲static,並且區分大小寫。如果刪去了static,則:
在這裏插入圖片描述
Main方法一般都是在創建項目時自動生成的,不用開發人員手動編寫或修改。
如果需要修改,則需要注意:

  • Main方法在類或結構內聲明,它必須是靜態的,而且不應該是公用的。
  • Main方法的返回類型有兩種:void或int。
  • Main方法可以包含命令行參數string[] args,也可以不包括。
static void Main(string[] args){}
static void Main(){}
static int Main(string[] args){}
static int Main(){}
(5) C#語句

C#語句是構造所有C#程序的基本單位。C#語句以分號結束。
例如:在輸出“Hello World”的程序中輸出“Hello World”字符串和定位控制檯的代碼就是C#語句

 Console.WriteLine("Hello World");
 Console.ReadLine();

上面的代碼是兩條最基本的C#語句,用來在控制檯中輸出內容和讀取內容,它們都用到了Console類。
Console 類表示控制檯應用程序的標準輸入流、標準輸出流和錯誤流,該類中包含很多方法,與輸入、輸出相關的主要有4個方法:

  • Read 從標準輸入流讀取下一個字符

  • RcadLine 從標準輸入流讀取下一行字符

  • Write 將指定的值寫入標準輸出流

  • WriteLine 將當前行終止符寫入標準輸出流

(6) 註釋
a. 行註釋

在C#代碼中,行註釋以“//”開頭,其後均爲註釋的內容,直至回車。

static void Main(string[] args)  //Main()方法,程序的主入口方法
{
	Console.WriteLine("Hello World"); //輸出“Hello World”
	Console.ReadLine();//定位控制檯窗口
}
b. 塊註釋
static void Main(string[] args) //Main()方法,程序的主入口方法
{
	/* 塊註釋開始
		Console.WriteLine("Hello World"); //輸出“Hello World”
		Console.ReadLine();//定位控制檯窗口
	*/
}

不過塊註釋通常用來爲類文件,類或方法等添加版權,功能等信息,註釋文本或代碼還是使用“//”較好

static void Main(string[] args) //Main()方法,程序的主入口方法
{
	//	Console.WriteLine("Hello World"); //輸出“Hello World”
	//	Console.ReadLine();//定位控制檯窗口
}

三,程序編寫規範

代碼規範雖然不是C#語法的組成部分,但是“編程路千萬,標準第一條,代碼不規範,同事兩行淚”

(1) 代碼編寫規則
  • 在編寫C#程序時,統一代碼的縮進樣式,比如統一縮進爲兩個空格或四個空格,一般爲一個Tab鍵。
  • 每寫完一行C#代碼,都應該換行編寫下一行C#代碼。
  • 在編寫C#代碼時,合理使用空格,以便使結構更清晰,比如在運算符+的前後各一個空格。
  • 儘量使用接口,然後使用類實現接口,以提高程序的靈活性
  • 關鍵的語句(包括聲明關鍵的變量)必須要寫註釋,由於你不寫註釋,你的同事正在提刀趕來的路上。
  • 建議局部變量在最接近使用它的地方聲明。
  • 儘量不要使用goto系列的語句,除非是在跳出深層循環時。
  • 避免編寫超過五個參數的方法,如果要傳遞多個參數,應使用結構。
  • 避免編寫代碼量過大的try-catch語句塊。
  • 避免在同一個文件中編寫多個類。
  • 在生成和構建一個長的字符串時,一定要使用StringBuilder類型,而不要使用string類型
  • 對於if語句,應該使用一對“{ }”把語句包含起來。
  • 對於switch語句,一定要有default語句來處理意外情況。
(2) 命名規範
a. 兩種命名方法

Pascal命名法:名稱中第一個字母爲大寫,後面連接詞的第一個字母也均爲大寫。此方法用於命名方法名類型名,而且方法的命名一般將其命名爲動賓短語,表明該方法的主要作用, 類的命名最好能體現出類的功能或操作

演示:創建一個公衆類,並在此類中定義一個公共方法

public class Uesr	//創建一個公共類,一看就是一個與用戶相關的類
{
	public void GetInfo()	//在公共類中創建一個公共方法,GetInfo是個動賓短語,
										//get info 獲得資訊,獲取信息
	{
	}
}

Camel命名法(又稱駝峯式命名法):名稱中第一個單詞的字母爲小寫,後面連接詞的第一個字母均爲大寫。此方法用於命名局部變量方法的參數。補充: 定義成員變量時,最好加前綴“_”,然後就是駝峯命名法了。
演示:聲明一個字符串變量和創建一個公共方法

string strUserName; //聲明一個字符串變量strUserName
public void addUser(string strUserId, byte[] byPassword) 
									//創建一個具有兩個參數的公共方法
{
}
b.常用程序元素的基本命名規範
  • 在命名項目名稱時,可以使用公司域名+產品名稱,或直接使用產品名稱

演示:搜狗目前在用的域名是sogou,假設其有個待研產品名爲CHR,則可以將項目命名爲“sogou.CHR”或“CHR”

  • 用有意義的名字定義命名空間,如公司名,產品名
namespace sogou //公司命名
{
}
namespace CHR	//產品命名
{
}
  • 接口的名稱加前綴“I”,字母“ i ”的大寫
public interface Iconvertible  //創建一個公共接口Iconvertible
{
}
  • 類的命名最好能體現出類的功能或操作
  • 方法的命名一般將其命名爲動賓短語,表明該方法的主要作用
public class Uesr	//創建一個公共類,一看就是一個與用戶相關的類
{
	public void GetInfo()	//在公共類中創建一個公共方法,GetInfo是個動賓短語,
											//get info 獲得資訊,獲取信息
	{
	}
}
  • 定義成員變量時,最好加前綴“_”
public class User		//創建一個公共類
{
	private string  _strUserName;	//聲明一個私有成員變量
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章