C#基礎整理(二)

来源:http://www.cnblogs.com/VSMinos/archive/2017/09/28/7607731.html
-Advertisement-
Play Games

1、變數類型int、double、string、char、bool、decimal變數使用規則:先聲明,再賦值,最後使用 2、命名規範:Camel:第一個單詞首字母小寫,其他單詞首字母大寫,其餘字母小寫Pascal:每個單詞的首字母都大寫,其餘字母小寫 5、常量聲明常量的語法:const 變數類型 ...


1、變數類型
int、double、string、char、bool、decimal
變數使用規則:先聲明,再賦值,最後使用

2、命名規範:
Camel:第一個單詞首字母小寫,其他單詞首字母大寫,其餘字母小寫
Pascal:每個單詞的首字母都大寫,其餘字母小寫

5、常量
聲明常量的語法:
const 變數類型 變數名=值;
例:public const int Che_SHI = 10001;
常量一旦賦值,不能被重新賦值

6、枚舉(規範我們的開發)
語法:
[public] enum 枚舉名
{
值1,
值2,
值3,
...........
}

[]中表示可以省略
Public:訪問修飾符,公開的公共的,修飾一個成員的訪問許可權。
enum:關鍵字,聲明枚舉的關鍵字
枚舉名:要符合pascal命名規範
將枚舉聲明到命名空間的下麵,類的外 面,表示這個命名空間下,所有的類都可以使用這個枚舉。
枚舉就是一個變數類型,像int、string這樣
只是枚舉聲明、賦值、使用的方式跟那些普通的變數類型不一樣。
枚舉是自己寫的變數類型

我們可以將一個枚舉類型的變數跟int類型和string類型互相轉換。
枚舉類型預設是跟int類型相互相容的,所以可以通過強制類型轉換的語法互相轉換。
當轉換一個枚舉中沒有的值的時候,不會拋異常,而是直接將數字顯示出來。

枚舉同樣也可以跟string類型互相轉換,如果將枚舉類型轉換成string類型,則直接調用ToString().
如果將字元串轉換成枚舉類型則需要下麵這樣一行代碼:
(要轉換的枚舉類型)Enum.Parse(typeof(要轉換的枚舉類型),"要轉換的字元串");
調用Enum類里的Parse()方法來幫助我們將一個字元串轉換成對應的枚舉類型
如果轉換的字元串是數字,則就算枚舉中沒有,也會不會拋異常。
如果轉換的字元串是文本,如果枚舉中沒有,則會拋出異常。


7、結構
為了一次性聲明多個不同類型的變數(欄位)
語法:
[public] struct 結構名
{
public string name;
成員//欄位
}

程式中欄位能存多個值,變數只能存一個值。
欄位起名規範,每個欄位前面加一個下劃線,來區分變數和欄位。

8、數組
一次性存儲多個相同類型的變數就用數組。
語法:
數組類型[] 數組名=new 數組類型[數組長度];
int []nums=new int [5];
數組的長度一旦固定了,就不能再被改變了

數組擁有初值
int數組初值 0
string數組初值 null(不占空間)
bool數組初值 false

四種寫法
int[] nums = new int[5];
int[] nums = { 1, 2, 3, 4, 5 };(常用)
int[] nums = new int[5] { 1, 2, 3, 4, 5 };
int[] nums = new int[] { 1, 2, 3, 4, 5, };

int範圍 最大值 int.MaxValue
最小值 int.MinValue
可以通過下標或者索引去訪問數組中的元素

9、冒泡排序
將一個數組中的元素按照從大到小或者從小到達的順序進行排列。
int[] nums = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
Array.Sort(nums); //對數組進行升序排列
Array.Reverse(nums); //對數組進行倒序排列
不需要返回值,需要一個數組作為參數

10、方法/函數
函數就是將一堆代碼進行重用的一種機制。
函數的語法:
[public]static 返回值類型 方法名([參數列表])
{
方法體:
}
public static int AddSum(int a,int b)
{
return a+b;
}

返回值類型:如果不需要寫返回值,寫void。有返回值的用return返回
參數列表:完成這個方法所必須要提供給這個方法的參數。有些方法不需要寫參數。

11、return的用法
1)在方法中返回要返回的值。
2)立即結束本次方法。
3)一層一層的門,return只返回上一層。

12、我們在Main()函數中,調用Test()函數。
我們管Main()函數稱之為調用者,管Test()函數稱之為被調用者。
如果Test()想要得到Main()的值:
1)傳遞參數。
2)使用靜態欄位來模擬全局變數。

如果Main()想要得到Test()的值:
1)返回值

13、不管是實參還是形參,都是在記憶體中開闢了空間的。

14、方法的功能一定要單一。
方法中不要出現提示用戶輸入。

15.out、ref、params
1)、out參數。
如果你在一個方法中,返回多個相同類型的值的時候,可以考慮返回一個數組。
但是,如果返回多個不同類型的值的時候,返回數組就不行了,那麼這個時候,
我們可以考慮使用out參數。
out參數在一個方法中可以返回多個不同類型的值。
out參數要求在方法的內部必須為其賦值

2)、ref參數
能夠將一個變數帶入一個方法中進行改變,改變完成後,再將改變後的值帶出方法。
ref參數要求在方法外必須為其賦值,而方法內可以不賦值。
ref不需要創建一個新的變數來接收返回值。

ref是 有進有出,而out是 只出不進。
3)、params可變參數
將實參列表中跟可變參數數組類型一致的元素都當做數組的元素去處理。
params可變參數必須是形參列表中的最後一個元素。

public static void Test(string name,params int [] score)

16.方法的重載
概念:方法的重載指的就是方法的名稱相同,但是參數不同。
參數不同,分為兩種情況
1)、如果參數的個數相同,那麼參數的類型就不能相同。
2)、如果參數的類型相同,那麼參數的個數就不能相同。
***方法的重載跟返回值沒有關係。

用哪個就傳哪個參
方法的重載就是可以放任何的參數

17、字元串的用法
字元串的length可以用來比較字的長度

18.方法中改變數組,不需要返回值來接收就可以改變。數組在方法中是個例外。

19.Cosole的幾種方法
1)改變字體顏色
Console.ForegroundColor = ConsoleColor.Yellow;
2)console.clear(); 清屏
3)console.readkey(true);不顯示輸出的按鍵
4)輸出時,保留小數點後兩位
Double avg=10/3;
Console.WriteLine("{0:0.00}", avg);


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Unix文件是以位元組序列組成的信息載體(container),內核不解釋文件的內容。 Linux文件系統中的文件是數據的集合,文件系統不僅包含著文件中的數據而且還有系統的結構,所有Linux用戶和程式看到的文件、目錄、軟鏈接及文件保護信息等都存儲在其中。 Linux最早的文件系統是Minux,但是專 ...
  • 腳本的作用不明而喻,在無數次的啟動開發板過程中,不斷登錄確確實實占用了我大量的時間及精力; 於是上網根據自己的實際編寫了一個腳本: !/usr/bin/expect -f的意義:http://blog.csdn.net/zhu_tianwei/article/details/44180637 如果在 ...
  • 值類型:(原話定義)值類型的變數直接包含值,換言之變數引用的位置就是值在記憶體中實際存儲的位置。 這句話也就是說,值類型的賦值是不會引用同一記憶體位置的,除了out和ref參數,更改原始變數不影響其它變數的值(因為變數歌有各的位置) 棧 依次向下: int number1 =42; char lette ...
  • 如果說界面設計,那麼自適應問題一定無法避免,今天就來分享一下,wpf如何實現自適應,先看一下效果:(文末添加源代碼下載) 基本思路就是用 Grid 的網格,進行寬度的自動填充適應, 不過對於複雜的頁面,佈局起來可能比較麻煩, 這裡推薦結合 DockPanel 和 Grid 一起使用,對於頁面一些不需 ...
  • 第一步:上圖 第二步:上代碼 >>>>>>>>>>>源代碼下載<<<<<<<<< 第三步:說明 版本說明 v2.1 2017年9月28日19:37:39 qq1222698好多年不更新,應浩哥的要求,增加一些功能1、去掉自動回覆功能,加上自動發送功能2、增加回車功能、自動crc功能3、不再打包,自己 ...
  • 在繼承中,子類擁有父類的一切屬性和行為,而且任何父類出現的地方,都可以用子類來替代;可謂“長江後浪推前浪”啊 object是一切類的父類 泛型在編譯的時候確定類型(延遲思想); 泛型:用一個方法,來滿足不同類型的參數;泛型實際上是語法糖,由編譯器提供功能;沒有性能損失 泛型參數的個數可以隨便定義 貼 ...
  • 第一次寫隨筆,心裡有一些小激動。 第一次做金蝶二開,所以一臉懵逼,搜遍博客園和CSDN,都沒找到相關的帖子。 最後在金蝶研發部某大佬的幫助下,最終得逞所願!在此感謝這位大佬! 我的做法是在插件表單上添加一個進度條進行隱藏,添加進度條的目的是防止初始化載入後,防止線程被銷毀。 至於我的這個做法能不能入 ...
  • 參考:http://blog.csdn.net/songyefei/article/details/7397296 元數據交換 通過前兩篇的學習,我們瞭解了WCF通信的一些基本原理,我們知道,WCF服務端和客戶端通過共用元數據(包括服務協定、伺服器終結點信息)在兩個終結點上建立通道從而進行通信。我們 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...