C#基礎整理(一)

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

1、什麼是.net? .net有.net平臺和.Net Framework框架。 .net平臺是包含.net framework框架。 framework框架提供穩定的運行環境來保證基於.Net平臺開發的各種應用正常運轉。 2、什麼是C#? C#是一種編程語言,可以開發基於.net平臺的應用。 3、 ...


1、什麼是.net?
.net有.net平臺和.Net Framework框架。
.net平臺是包含.net framework框架。
framework框架提供穩定的運行環境來保證基於.Net平臺開發的各種應用正常運轉。

2、什麼是C#?
C#是一種編程語言,可以開發基於.net平臺的應用。

3、.net可以做什麼?
桌面應用程式 winform
internet應用程式 asp.net
手機開發 wp8
unity3d游戲開發或虛擬現實

4、.net兩種交互模式
C/S 客戶機/伺服器模式
B/S 瀏覽器/伺服器模式

5、轉義符
'\'+一個特殊字元=具有特殊功能的字元
\n 換行
\r\n windows操作系統不能用\n,只能用\r\n
\" 英文半形的雙引號
\t tab鍵的空格
\b   退格鍵,放字元串兩邊沒效果。
\\ 表示一個\

6、@符號
①取消\在字元串中的轉義作用,就只表示為一個'\'
②將字元串按照編輯的原格式輸出

7、類型轉換
①int->double 隱性類型轉換(直接轉換)
②double->int 顯性類型轉換(強制轉換)
double s=2.5;
s2=(int)s;

8、類型的變數不相容
string 與 int
string 與 double
可以使用convert的轉換工廠進行轉換。
string str = "123456";
int nums= Convert.ToInt32(str); //結果:nums=123456

9、運算符及表達式
①一元運算符
前++、後++ 只需要1個操作數 完成的運算
1)不論是前++還是後++,最終結果都是給這個變數+1。
2)表達式中,前++是先給這個變數自身+1,然後再帶著這個+1的值去參與運算。
後++是先拿原值參與運算,運算完成後,再給這個變數自身+1。
②二元運算符
+-*/% 需要2個或以上操作數 完成的運算
表達式中既有一元又有二元,先算一元運算符
③三元表達式
語法:表達式1?表達式2:表達式3;
int max=A > B ? A : B;
表達式1一般為一個關係表達式。
如果A>B的值為true,那麼A的值就是max的值。
如果A>B的值為false,那麼B的值就是max的值。
註意:B的類型必須跟A的類型一致,並且也要跟整個Max的類型一致。
④關係表達式
>、<、==、>=、<=、!=
用關係運算符連接的表達式
⑤邏輯表達式
&&、||、!
用邏輯運算符連接的表達式
邏輯運算符兩邊放的一般都是關係表達式或bool類型的值。
⑥複合賦值運算符
+=,-+,*=,/=,%=

10、結構
順序結構:程式從Main函數進入,從上到下一行一行的執行,不落下任何一行。
分支結構:if if-else
選擇結構:if else-if switch-case
迴圈結構:while do-while for foreach

11、異常捕獲 try-catch
①程式中經常出現各種各樣的異常,如果不想程式老是奔潰,在代碼中要經常用try-catch來進行異常捕獲
②try-catch之間不能有其他代碼。
③如果try中的程式沒有異常,則catch中的代碼不執行。如果try中的程式出異常了,哪怕這行代碼後面還有100行代碼都不會執行了,直接跳到了catch中執行代碼。

12、變數的作用域
①變數的作用域就是你能使用這個變數的範圍。
②變數的作用域一般從聲明它,上面離它最近的那個括弧開始到那個括弧所對應結束的括弧結束。
③這個範圍內,我們可以訪問並使用變數,超出就訪問不到。

13、switch-case
用來處理多條件的定值判斷。
語法:
switch (變數或表達式的值)
{
case 值1:要執行的代碼;
break;
case 值2:要執行的代碼;
break;
case 值3:要執行的代碼;
break;
..........
default:要執行的代碼;
break;
}
執行過程:程式執行到switch處,首先將括弧中變數或者表達式的值計算出來,然後拿著這個值依次跟每個case後面所帶的值進行匹配,一旦匹配成功,則執行該case所帶的代碼,執行完成後,遇到break。跳出switch-case結構。

如果跟每個case所帶的值都不匹配。就看這個switch-case中是否存在default,如果有default,則執行default中的語句,如果沒有default,則該switch-case結構什麼都不做。

14、for迴圈
正序迴圈
for+tab鍵+tab鍵
for (int i = 0; i < length; i++)
倒序迴圈
forr+tab鍵+tab鍵
for (int i = length - 1; i >= 0; i--)

15.parse類型轉換
convert轉換失敗會拋異常,它本質上調用的就是parse
s="123";
s2=int.parse(s);
TryParse是一個方法,會試著將一個string類型轉為int類型,結果返回true或false
int num = 0;
bool b=int.TryParse("123abc",out num);
Console.WriteLine(b); //false
Console.WriteLine(num); //nums=0

16、continue 繼續
continue一般和If配合使用,當滿足某個條件時,回到迴圈條件來判斷
和break的區別
continue:可以選擇繼續執行或者不執行迴圈,執不執行取決於迴圈條件是否成立
break:直接跳出迴圈

17、隨機數
Random r=new Random();
int number=r.Next(1,11);//隨機產生1-10之間的數賦值給number


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

-Advertisement-
Play Games
更多相關文章
  • 腳本的作用不明而喻,在無數次的啟動開發板過程中,不斷登錄確確實實占用了我大量的時間及精力; 於是上網根據自己的實際編寫了一個腳本: !/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服務端和客戶端通過共用元數據(包括服務協定、伺服器終結點信息)在兩個終結點上建立通道從而進行通信。我們 ...
  • 1、變數類型int、double、string、char、bool、decimal變數使用規則:先聲明,再賦值,最後使用 2、命名規範:Camel:第一個單詞首字母小寫,其他單詞首字母大寫,其餘字母小寫Pascal:每個單詞的首字母都大寫,其餘字母小寫 5、常量聲明常量的語法:const 變數類型 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...