国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C# 語法筆記

這篇具有很好參考價值的文章主要介紹了C# 語法筆記。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.ref、out:參數(shù)傳遞的兩種方式

ref:引用傳遞

using System;
namespace CalculatorApplication
{
? ?class NumberManipulator
? ?{
? ? ? public void swap(ref int x, ref int y)
? ? ? {
? ? ? ? ?int temp;

? ? ? ? ?temp = x; /* 保存 x 的值 */
? ? ? ? ?x = y; ? ?/* 把 y 賦值給 x */
? ? ? ? ?y = temp; /* 把 temp 賦值給 y */
? ? ? ?}
? ?
? ? ? static void Main(string[] args)
? ? ? {
? ? ? ? ?NumberManipulator n = new NumberManipulator();
? ? ? ? ?/* 局部變量定義 */
? ? ? ? ?int a = 100;
? ? ? ? ?int b = 200;

? ? ? ? ?Console.WriteLine("在交換之前,a 的值: {0}", a);
? ? ? ? ?Console.WriteLine("在交換之前,b 的值: {0}", b);

? ? ? ? ?/* 調(diào)用函數(shù)來交換值 */
? ? ? ? ?n.swap(ref a, ref b);

? ? ? ? ?Console.WriteLine("在交換之后,a 的值: {0}", a);
? ? ? ? ?Console.WriteLine("在交換之后,b 的值: {0}", b);
?
? ? ? ? ?Console.ReadLine();

? ? ? }
? ?}
}

out: 輸出傳參

假設(shè)在函數(shù)調(diào)用前變量a的值為5;

此函數(shù)的實現(xiàn)使用輸出傳參,在方法內(nèi)第一次修改a=1,第二次修改a=2,第三次修改為a=3,那么a的值會在執(zhí)行此函數(shù)后為3;

C# 語法筆記,C#筆記,筆記,c#,unity

unity中的射線檢測的第三個參數(shù)就是通過輸出值傳遞被擊中

物體的信息

public static bool Raycast(Vector3 origin, Vector3 direction, out RaycastHit hitInfo, float maxDistance);

還有一種就是最普通的值傳遞;

2.如何給bool賦值null

有些類型不能為空值,int,bool,float等;

使用"?"可讓它們變成可空類型

賦值方法 bool? a=null;

a從bool類型的值變?yōu)榭煽誦ool值;

3."??"運算符

如果第一個操作數(shù)的值為 null,則運算符返回第二個操作數(shù)的值,否則返回第一個操作數(shù)的值

例子:a=b??c 如果b等于null則a等于c(不管c的值是不是null)

4、交錯數(shù)組

C# 語法筆記,C#筆記,筆記,c#,unity

5、數(shù)組作為參數(shù)的兩種方式

函數(shù)的參數(shù)中有數(shù)組時,可以傳遞數(shù)組的指針和將數(shù)組整體作為參數(shù).

數(shù)組指針作為參數(shù):

C# 語法筆記,C#筆記,筆記,c#,unity

數(shù)組整體作為參數(shù):

?需要 在方法定義時配上關(guān)鍵字params;

C# 語法筆記,C#筆記,筆記,c#,unity

6.結(jié)構(gòu)體

與c和c++的結(jié)構(gòu)體有所不同,參考文檔

結(jié)構(gòu)體的對象存儲在棧中,適合體積小且簡單的類型,訪問速度快。

類的對象存儲在堆中,適合體積大且復(fù)雜的語句塊,但訪問速度慢,棧中只存有對象的引用。

例如:

有一個類是Book類, 執(zhí)行語句Book a;

a只是Book類的一個引用還沒有分配內(nèi)存,a在棧中。

當(dāng)a=new Book()時,才為a分配了一個對象,這個對象在堆中,a作為內(nèi)存位置的引用還是在棧中;

7.枚舉(enum)

作用就是獲取一個列表內(nèi)成員在當(dāng)前列表的序號,從0開始;

C# 語法筆記,C#筆記,筆記,c#,unity

8.訪問修飾符

用于封裝后對封裝數(shù)據(jù)的權(quán)限設(shè)置

五種:public,private,protected,Internal,protected Internal.

前三個和c++沒啥區(qū)別;

類的默認(rèn)就是Internal,也就是所有程序里都可以用這個類;

protected Internal“訪問限于當(dāng)前程序集或派生自包含類的類型”,目前沒看見過這個;

9.類的成員函數(shù)

構(gòu)造函數(shù)+析構(gòu)函數(shù)+其他函數(shù)

構(gòu)造函數(shù):無返回值(也沒有void),和類同名,默認(rèn)無參數(shù),可以手動實現(xiàn)帶參構(gòu)造;

析構(gòu)函數(shù):和類同名,前面帶一個 “~”,無法繼承無法重載,在類被銷毀時調(diào)用;

C# 語法筆記,C#筆記,筆記,c#,unity

2023.12.6補充:

除了構(gòu)造函數(shù),類的成員函數(shù)默認(rèn)都為private;

10.靜態(tài)成員

有點像單例,同一個類的對象再怎么多,這個類的靜態(tài)成員的實例都不會隨著對象的生成而增多,永遠(yuǎn)只有一個;

靜態(tài)成員在對象生成前就已經(jīng)存在了;

所以可以直接通過類名來訪問靜態(tài)成員;

而且靜態(tài)函數(shù)只能訪問靜態(tài)變量;

可以用來實現(xiàn)Main函數(shù);

11、多態(tài)(重點內(nèi)容)

同一個方法,能實現(xiàn)不同的效果;

靜態(tài)多態(tài):

靜態(tài)多態(tài)理解為函數(shù)的多態(tài);

同一個函數(shù),實現(xiàn)不同的效果 =>函數(shù)重載,同一個函數(shù),參數(shù)不同,效果不同。

動態(tài)多態(tài):

動態(tài)多態(tài)理解為類的多態(tài);

依靠抽象類和虛方法來實現(xiàn):abstract和virtual

C# 語法筆記,C#筆記,筆記,c#,unity

理解:一個類聲明為抽象類(加上abstract),其派生類可以重寫其內(nèi)部的函數(shù);

在抽象類里聲明為abstract的函數(shù)不能寫出函數(shù)主體,只能聲明,不能定義,不然會報錯

C# 語法筆記,C#筆記,筆記,c#,unity

派生類不實現(xiàn)重寫抽象類的抽象函數(shù)會報錯

C# 語法筆記,C#筆記,筆記,c#,unity

重寫抽象函數(shù)時無法改變訪問修飾符

C# 語法筆記,C#筆記,筆記,c#,unity

將抽象函數(shù)聲明為Virtual可以在不同的派生類里實現(xiàn)不同的方法。

實測感覺直接用abstract也可以實現(xiàn)Virtual的這個功能,不知道Virtual還有沒有其他特殊用法

C# 語法筆記,C#筆記,筆記,c#,unity

2023.12.6補充:

abstract修飾函數(shù)的申明,子類必須去定義基類里申明為abstract的函數(shù),因為去定義這個函數(shù);

virtuai修飾整個函數(shù),子類可以去重寫也可以不重寫;

override修飾的函數(shù),子類里必須去重寫這個函數(shù);

12、接口

關(guān)鍵字:interface

C# 語法筆記,C#筆記,筆記,c#,unity

接口的作用就是使得繼承自這個接口的類有相似的結(jié)構(gòu),都會實現(xiàn)接口內(nèi)的函數(shù)這個特性就使得子類都有相似的結(jié)構(gòu);

13、預(yù)處理命令

C# 語法筆記,C#筆記,筆記,c#,unity

很實用的是,#region和#endregion組合可以實現(xiàn)自定義代碼塊的折疊;

#region 注釋

代碼

#endregion文章來源地址http://www.zghlxwxcb.cn/news/detail-756697.html

到了這里,關(guān)于C# 語法筆記的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Unity學(xué)習(xí)筆記--使用 C# 開發(fā)一個 LRU

    什么是 LRU 在計算機系統(tǒng)中,LRU(Least Recently Used,最近最少使用)是一種緩存置換算法。緩存是計算機系統(tǒng)中的一種能夠高速獲取數(shù)據(jù)的介質(zhì),而緩存置換算法則是在緩存空間不足時,需要淘汰掉部分緩存數(shù)據(jù)以騰出空間,使得后來需要訪問數(shù)據(jù)能夠有更多的緩存空間可用。

    2024年02月13日
    瀏覽(710)
  • Unity學(xué)習(xí)筆記(零基礎(chǔ)到就業(yè))|Chapter03:C#核心

    Unity學(xué)習(xí)筆記(零基礎(chǔ)到就業(yè))|Chapter03:C#核心

    這系列的學(xué)習(xí)筆記主要是根據(jù)唐老獅的unity實戰(zhàn)路線課程整理的,加入了自己的一些補充和理解,該課程涉及的知識內(nèi)容非常多,我并未學(xué)完,而是根據(jù)就業(yè)需求挑選學(xué)習(xí)的,也對后續(xù)框架部分進(jìn)行了一些修改,希望能通過整理并時常閱讀這些筆記鞏固開發(fā)知識,也希望能跟

    2024年02月20日
    瀏覽(92)
  • Unity3D高級編程主程手記 學(xué)習(xí)筆記二:C#技術(shù)要點

    Unity3D高級編程主程手記 學(xué)習(xí)筆記二:C#技術(shù)要點

    1.Untiy3D中C#的底層原理 Unity底層在運行C#程序時有兩種機制:一種是Mono,另一種是IL2CPP。 Mono存在的目的是為了跨平臺 ,因為最初C#只支持Windows。而IL可以看成是一種匯編語言且完全基于堆棧,必須運行在虛擬機上。也就是說C#會被編譯器編譯成IL,當(dāng)需要他們時就會被實時的

    2024年02月08日
    瀏覽(95)
  • 【C#基礎(chǔ)】C# 基礎(chǔ)語法解析

    序號 系列文章 0 【C#基礎(chǔ)】初識編程語言C# 1 【C#基礎(chǔ)】C# 程序通用結(jié)構(gòu) ?? 大家好,我是writer桑,前面一章已經(jīng)學(xué)習(xí)了C#的程序結(jié)構(gòu),那本章就開始學(xué)習(xí)C#程序中的基礎(chǔ)語法,希望看完大家能夠有所收獲,感謝支持! 首先 C# 作為一門面向?qū)ο蟮木幊陶Z言,有著許多區(qū)別于其他

    2024年02月05日
    瀏覽(32)
  • Java語法和C#語法有哪些異同?

    Java和C#是兩種流行的面向?qū)ο缶幊陶Z言,它們有許多相似之處,因為它們都受到C++和面向?qū)ο缶幊痰挠绊?。但它們也有一些語法上的異同,讓我們來看看它們的一些主要異同點: 相同點: 1、面向?qū)ο缶幊蹋篔ava和C#都是面向?qū)ο蟮木幊陶Z言,支持類、對象、繼承、封裝和多態(tài)

    2024年02月16日
    瀏覽(26)
  • C#基本語法

    定義:C#是一種面向?qū)ο蟮木幊陶Z言。 在任何c#程序中的第一條語句都是 using用于在程序中包含命名空間。一個程序可以包含多個using語句 class class用于聲明一個類 C#的注釋 注釋是用于解釋代碼。編譯器會忽略注釋的條目。 例:多行注釋以/*開始,通過*

    2024年01月20日
    瀏覽(17)
  • C#基礎(chǔ)——語法學(xué)習(xí)

    C#基礎(chǔ)——語法學(xué)習(xí)

    在介紹基本語法之前我們先來大概講一下創(chuàng)建好的這些文件都是做什么的 常用快捷鍵 ctrl + k + d :快速對其代碼 ctrl + k + c :注釋代碼 ctrl + k + u :取消注釋代碼 f1:查看幫助文檔 C# 提供了三種注釋方式 1.單行注釋 2.多行注釋 3.標(biāo)注 C#語法中內(nèi)置了數(shù)據(jù)類型,分為了三類 1.值

    2024年02月04日
    瀏覽(22)
  • c#語法問題記錄

    c#語法問題記錄

    using 語句定義一個范圍,在此范圍的末尾將釋放對象。 using 指令為命名空間創(chuàng)建別名,或?qū)朐谄渌臻g中定義的類型。 internal: 是類型和類型成員的訪問修飾符。 sealed :應(yīng)用于某個類時,sealed 修飾符可阻止其他類繼承自該類。 partial :拆分一個類、一個結(jié)構(gòu)

    2024年02月16日
    瀏覽(18)
  • 二、C#基礎(chǔ)語法( 控制結(jié)構(gòu))

    在C#中,控制結(jié)構(gòu)用于控制程序的流程,決定了代碼的執(zhí)行順序。C#支持以下幾種主要的控制結(jié)構(gòu): 條件語句 :根據(jù)某個條件(布爾表達(dá)式)來決定執(zhí)行的代碼塊。 循環(huán)語句 :重復(fù)執(zhí)行一段代碼,直到滿足某個條件。 跳轉(zhuǎn)語句 :改變程序的執(zhí)行流程。 異常處理 :用于捕獲

    2024年02月04日
    瀏覽(26)
  • C# 6.0 語法新特性

    靜態(tài)using(static using)。引用靜態(tài)類后,可以直接方法名 表達(dá)式方法?使用表達(dá)式方法,只有一條語句的方法可以使用lambda語法寫。 表達(dá)式屬性 自動屬性初始化 只讀自動屬性 nameof操作符?字段、屬性、方法和類型的name可以通過nameof訪問。使用nameof,可以方便的重構(gòu)name變化 Nu

    2024年02月07日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包