亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

C#基礎,C#基礎知識點,基礎知識點迅速鞏固

2019-11-14 15:56:39
字體:
來源:轉載
供稿:網友

一、方法(結構、數組、冒泡排序、3個參數重載)

1將string轉換為int類型

Convert.ToInt32(); int.Parse() ; int.TryParse()三種方式。

2 結構:可以幫助我們一次性聲明多個不同類型的變量。

public struct JG{    public string name;    public int age;}static void Main(string[] strag){    JG jg=new JG();    jg.name=”張三”;    jg.age=11;}

 

 

3 數組:一次性存儲多個相同類型的變量。

4冒泡排序:

            int[] nums = { 1, 2, 3, 5, 8, 2 };           // 冒泡排序第一個元素依次和后面的元素比較            //如果大于他就把值給他            for (int i = 0; i < nums.Length - 1; i++)            {                for (int j = 0; j < nums.Length - 1 - i; j++)                {                    if (nums[j] < nums[j + 1])                    {                        int temp = nums[j];                        nums[j] = nums[j + 1];                        nums[j + 1] = temp;                    }                }            }

5.三個高級參數out、ref、parmas

  • Out參數:側重于在一個方法中返回(免使用return)多個不同類型的值
  • ref:能夠將一個變量帶入一個方法中進行改變,改變完成后,再將改變后的帶出方法。
  • Params:聲明參數的時候使用params,可以在調用的時候直接傳入params修飾的參數的元素。

注:多個參數時,params參數需要放在最后一個位置.

  •  1         static void Main(string[] args) 2         { 3             //求方法的最大、最小、總和、平均值 4             int[] numbers = { 1, 2, 3, 4, 5, 6, 7 }; 5  6             int max = 0; 7             int min = 0; 8             int sum = 0; 9             int avg = 0;10             GetManMinSumAvg(numbers,out max,out min, out sum ,out avg);11 12 13             Console.WriteLine(max);14             Console.WriteLine(min);15             Console.WriteLine(sum);16             Console.WriteLine(avg);17 18             Console.ReadKey();19         }20 21         public static void GetManMinSumAvg(int[] nums, out int max, out int min, out int sum, out int avg)22         {23             int[] res = new int[4];24             //假設res[0]最大 1最小 2 總和 3平均25             max = nums[0];//Max26             min = nums[0];//MIn27             sum = 0;//28             for (int i = 0; i < nums.Length; i++)29             {30                 if (nums[0] < nums[i])31                 {32                     max = nums[i];33                 }34                 if (nums[0] > nums[i])35                 {36                     min = nums[i];37                 }38                 sum += nums[i];39             }40             avg = sum / nums.Length;41         }
    Out參數
     1         static void Main(string[] args) 2         { 3             int n1 = 10; 4             int n2 = 20; 5             //傳入參數前必須賦值 6             Ss(ref n1,ref n2); 7             Console.WriteLine(n1); 8             Console.WriteLine(n2); 9             Console.ReadKey();10         }11 12         public static void Ss(ref int n1,ref int n2)13         {14             n1 = n1 - n2;15             n2 = n1 + n2;16             n1 = n2 - n1;//調換兩個參數的值17         }
    ref參數
     1         static void Main(string[] args) 2         { 3             int gg = Get(1, 2, 3, 4, 5, 5, 67, 2); 4             Console.WriteLine(gg); 5             Console.ReadKey(); 6         } 7         public static int Get(params int[] ss) 8         { 9             int sum = 0;10             for (int i = 0; i < ss.Length; i++)11             {12                 sum += ss[i];13             }14             return sum;15         }
    params

6.方法的重載

概念:指的是方法的名稱相同,但是參數不同。

1) 參數的個數相同,那么參數的類型就不能相同。

2) 參數的類型相同,那么參數的個數就不能相同。

7.方法的遞歸

方法自己調用自己。但是也得有一個條件讓他自己不在循環≠死循環。

 

 

注:每調一次遞歸函數,就相當于進入一個門。最后return 的時候會在一層一層的返回。

8.靜態變量

public static  int i=0;

可以選擇將字段聲明為 static。 這使得調用方在任何時候都能使用字段,即使類沒有任何實例。

二、面向對象基礎

1.基本語法

1.類概念:我們把這些具有相同屬性和相同方法的對象進行進一步的封裝,抽象出來。

類就是一個模子,確定了對象應該具有的屬性和方法。

對象是根據類創建出來的。

public class 類名

         字段;   存儲數據。

   屬性;  

     方法;   描述對象的行為。

類的實例化:寫好了類之后,我們需要創建這個類的對象,那么,我們管創建這個類的對象過程稱之為類的實例化。

 

this關鍵字:代表當前類的對象。

注:類是不占內存的,對象是占內存的。字段會有一個默認的初值,會在內存中開辟空間。

結構和類的區別:結構是面向過程的,類是面向對象的。關鍵字一個是classstruct。

結構不具備類(特征)的:封裝、繼承和多態。

2.屬性:

屬性的作用就是保護字段、對字段的賦值和取值進行限定。

注:屬性的本質就是兩個方法。get,set方法。

3.靜態與非靜態

.看有沒有被static標記

static標記為靜態;

沒有static標記為非靜態;

1) 在非靜態類中,既可以有實例成員,也可以有靜態成員。

2) 在調用實例成員的時候,需要使用對象名.示例名。

再調用靜態成員的時候,需要使用類名.靜態成員名。

??偨Y:靜態成員必須使用類名去調用,而實例成員使用對象名調用。

靜態函數中,只能訪問靜態成員,不允許訪問實例成員。

實例函數中,既可以使用靜態成員,也可以使用實例成員。

使用:

1) 如果你想要類,當做一個工具類去使用,這個時候可以把類寫成靜態類。

2) 靜態類中在整個項目中資源共享。

 

4.構造函數

作用:幫助我們初始化對象(給對象的每個屬性依次的賦值);

構造函數是一個特殊的方法。

方便我們快捷的給一個對象初始化。

5.New關鍵字

new幫助我們做了3件事:

1)、在內存中開辟一塊空間

2)、在開辟空間中創建對象

3)、調用對象的構造函數進行初始化對象

6.this關鍵字

這段代碼多次重復數賦值字段構成了冗余

1.含義

1)代表當前類的對象。

2)在類中顯示的調用本類的構造函數  :this

 1         public Person(string name, int ages, string gender, string linkway) 2         { 3             this.Name = name; 4             this.Ages = ages; 5             this.Gender = gender; 6             this.Linkway = linkway; 7         } 8         public Person(string name, int age):this(name,age,"","") 9         { 10             11         }

7.析構函數

~類名()

         //不用調用,自己執行。

三、繼承

 

1.命名空間

概念:可以解決類的重名問題。可以看作類的文件夾。

 

 

2.值類型和引用類型

區別:

1.內存中的分配的空間是不一樣的。

2.傳遞的方式也是不同的。(值傳遞和引用傳遞

內存空間認為的分為5塊:

注:程序員常用的是:堆、棧、靜態存儲區域

值類型:int、double、struct、bool、char、decimal、enum

引用類型:引用類型:string 數組、自定義類、集合、object、接口

 

 

 

 

注:值類型在復制的時候,傳遞的是這個值得本身。

引用類型在復制的時候傳遞的時候是對對象的引用。

3.字符串不可變性

1.當你給一個字符串重新賦值后,老值并沒有銷毀,兒時重新開辟了一個空間存儲新值。棧的地址會得到更新。

當程序結束后,GC掃描整個內存,如果發現有的空間沒有指向,則立即把它銷毀。

StringBuilder 一般是沒有再新開空間。

 

4.繼承

封裝概念:把常用的東西封裝起來。

繼承概念:我們可能會在一些類中,寫一些重復的成員,我們可以將這些重復的成員單獨的封裝到一個類中,作為這些類的父類。

student、Teacher、   子類  派生類

Person                          父類   基類

子類繼承了父類,繼承了父類的屬性和方法。私有字段不會繼承過來。不會繼承構造函數,但是會調用。

注:子類繼承了父類,先會去調用父類無參數的構造函數。

創建父類對象。讓子類可以使用父類中的成員。

父類中重寫了一個有參的構造函數,父類無參的構造函數就被干掉了。

 

解決辦法:

辦法1.在父類中重寫一個無參的構造函數。(不推薦)

辦法2.直接讓子類調用父類有參的。

 1     public class Person 2     { 3         public string Name 4         { 5             get; 6             set; 7         } 8         public int Ages 9         {10             get;11             set;12         }13         public string Gender14         {15             get;16             set;17         }18         public string Linkway19         {20             get;21             set;22         }23         public Person(string name, int ages, string gender, string linkway)24         {25             this.Name = name;26             this.Ages = ages;27             this.Gender = gender;28             this.Linkway = linkway;29         }30         public Person(string name, int age)31             : this(name, age, "", "")32         {33 34         }35     }36     public class Chines : Person37     {38         /// <summary>39         /// 父類沒有該字段40         /// </summary>41         public DateTime? Creatre42         {43             get;44             set;45         }46         /// <summary>47         /// 繼承父類的構造函數48         /// </summary>49         public Chines(string name, int age, DateTime create)50             : base(name, age)51         {52             //需要自己賦值53             this.Creatre = create;54         }55     }
this、base、構造函數

父類中有的字段,在子類調用構造函數的時候,可以直接用,寫父類沒有的。

. base關鍵字

創建父類對象,讓子類可以使用父類中的成員。

所以,如果在父類中重新寫了一個有參數的構造函數之后,那個無參數的就被干掉了,

子類就調用不到了,所以子類會報錯。

解決辦法:

1)、在父類中重新寫一個無參數的構造函數。

2)、在子類中顯示的調用父類的構造函數,使用關鍵字:base()

5.new 關鍵字(二)

使用new關鍵字隱藏,父類的成員。

父類和子類中,有同名的方法,子類只能調用自己的成員,這時候報警告線,可以new關鍵字屏蔽父類的成員。

 1     public class Person 2     { 3         public static void Get() 4         { 5             Console.WriteLine("父類。"); 6         } 7     } 8     public class Chines : Person 9     {10         public new void Get()11         {12             Console.WriteLine("子類");13         }14     }

6.里氏轉換

1)子類可以復制給父類

2)如果父類中裝的是子類對象,那么父類可以強轉為子類對象。

7.is和as關鍵字

Is:標識類型轉換,如果能夠轉換成功,則返回一個true,否則返回一個flase

as:表示類型轉換,如果能夠轉換則返回對應的對象。

8.訪問修飾符

                                              

修飾符

用途

訪問修飾符

  • public

  • PRivate

  • internal

  • protected

指定聲明的類型和類型成員的可訪問性。

abstract

指示某個類只能是其他類的基類。

const

指定無法修改字段或局部變量的值。

event

聲明事件。

extern

指示在外部實現方法。

new

從基類成員隱藏繼承的成員。

override

提供從基類繼承的虛擬成員的新實現。

partial — 部分

在整個同一程序集中定義分部類、結構和方法。

readonly

聲明一個字段,該字段只能賦值為該聲明的一部分或者在同一個類的構造函數中。

sealed

指定類不能被繼承。

static

聲明屬于類型本身而不是屬于特定對象的成員。

unsafe

聲明不安全的上下文。

virtual

在派生類中聲明其實現可由重寫成員更改的方法或訪問器。

volatile

指示字段可由操作系統、硬件或并發執行線程等在程序中進行修改。

9集合:ArrayList和HashTable

 

未完待續&hellip;…

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品久久香蕉国产线看观看亚洲| 成人久久一区二区| 亚洲天堂av在线免费观看| 欧美一级大片视频| 97国产在线视频| 国产精品精品久久久| 97精品国产97久久久久久免费| 欧美有码在线视频| 最新69国产成人精品视频免费| 久久精品99国产精品酒店日本| 亚洲免费视频一区二区| 国内精品久久久久久中文字幕| 亚洲国产欧美一区二区三区同亚洲| 91av视频在线播放| 亚洲人成绝费网站色www| 日韩欧美在线观看| 97av在线播放| 91精品国产91久久久久| 亚洲精品中文字幕有码专区| 亚洲精品电影久久久| 成人免费午夜电影| 久久久免费高清电视剧观看| 日本中文字幕成人| 国产98色在线| 久久天天躁狠狠躁老女人| 国产日韩欧美91| 成人a在线视频| 亚洲欧美综合v| 欧美精品国产精品日韩精品| 美女精品视频一区| 国产成人av网址| 亚洲系列中文字幕| 亚洲国产日韩欧美在线99| 欧美午夜xxx| 亚洲欧美制服综合另类| 欧美大片va欧美在线播放| 在线丨暗呦小u女国产精品| 午夜精品三级视频福利| 亚洲女人天堂视频| 国产成人精品一区二区| 国产手机视频精品| 久久久视频精品| 91色琪琪电影亚洲精品久久| 欧洲午夜精品久久久| 欧美成人剧情片在线观看| 亚洲黄色在线观看| 国产原创欧美精品| 日韩欧美极品在线观看| 久久久人成影片一区二区三区| 国产一区视频在线播放| 日韩中文字幕av| 日韩免费黄色av| 精品国产91久久久久久| 国产欧美一区二区三区久久人妖| 91欧美精品成人综合在线观看| 中国日韩欧美久久久久久久久| 欧美在线中文字幕| 亚洲最大av网| 国产精品一区二区三区免费视频| 国产一区二区三区在线观看网站| 国产精品∨欧美精品v日韩精品| 97精品国产97久久久久久春色| 亚洲国产精品久久久久秋霞蜜臀| 欧美福利视频网站| 久久国产精品久久久久久久久久| 一区二区在线免费视频| 欧美高清视频在线| 久久国产加勒比精品无码| 亚洲999一在线观看www| 8x海外华人永久免费日韩内陆视频| 亚洲影视九九影院在线观看| 中文字幕成人在线| 97国产成人精品视频| 91精品久久久久久久久| www.亚洲免费视频| 国产精品日韩久久久久| 国产精品盗摄久久久| 91av在线网站| 亚洲欧美中文字幕在线一区| 97精品伊人久久久大香线蕉| 在线成人一区二区| 午夜精品一区二区三区在线播放| 性日韩欧美在线视频| 日韩av不卡电影| 国产精品第七十二页| 国产精品精品视频| 亚洲激情第一页| 国产+人+亚洲| 日韩精品视频在线观看网址| 国产精品久久久久久久天堂| 最近的2019中文字幕免费一页| 国产精品aaaa| 欧美成人一二三| 91免费人成网站在线观看18| 欧美激情奇米色| 国产精品999| 国产有码一区二区| 日韩欧美国产骚| 91亚洲精华国产精华| 亚洲国产成人精品一区二区| 久久理论片午夜琪琪电影网| 欧美视频第一页| 日韩女优人人人人射在线视频| 久久久久久97| www国产亚洲精品久久网站| 国产成人精品综合久久久| 亚洲精品小视频在线观看| 国产成人精品久久二区二区| 色综合天天综合网国产成人网| 亚洲欧美日韩直播| 久久久国产成人精品| 欧美成人在线网站| 国产成人精品一区二区| 欧美精品一本久久男人的天堂| 欧美精品在线免费播放| 精品中文字幕乱| 亚洲男人的天堂在线| 欧美日韩黄色大片| 欧美成人免费大片| 欧美日韩美女视频| 国产va免费精品高清在线观看| 亚洲四色影视在线观看| 91久久精品国产91久久性色| 97av在线影院| 国产日产欧美a一级在线| 久久影院中文字幕| 91国产精品91| 国产婷婷色综合av蜜臀av| 91精品国产91久久久久久吃药| 欧美福利视频网站| 91欧美精品午夜性色福利在线| 欧美激情一级二级| 国产狼人综合免费视频| 国产一区二区精品丝袜| 欧美电影免费观看高清完整| 在线观看亚洲区| 国产丝袜一区二区三区免费视频| 色av吧综合网| 国内精品久久久久久久久| 亚洲欧美在线播放| 成人国产亚洲精品a区天堂华泰| 97精品国产97久久久久久免费| 日韩精品一二三四区| 国产一区二区丝袜| 国产精品视频资源| 亚洲第五色综合网| 国产精品视频永久免费播放| 精品国产91久久久久久老师| 日日噜噜噜夜夜爽亚洲精品| 日韩电影中文 亚洲精品乱码| 久久久久五月天| 亚洲精品91美女久久久久久久| 国产精品69久久久久| 欧美精品www| 欧美性资源免费| 欧美日韩国产一区中文午夜| 91网站在线看| 欧美精品久久久久久久久久| 日韩欧美国产黄色| 久久国产精品电影| 日韩精品极品在线观看播放免费视频| 成人免费在线网址| 久久久伊人欧美| 欧美日韩中文字幕在线|