C#之初級篇

來源:互聯網
上載者:User

標籤:結構   執行個體   類   c#   namespace   

bool類型 

bool a=true;

裝箱&拆箱

裝箱:將值類型隱式轉換為參考型別

首先分配一個對象執行個體,然後將值類型的值複製到該執行個體中

int i=10;object obj=i;//將int型的變數i隱式的轉換成參考型別,並將其值賦給object類型的變數obj

拆箱:將參考型別隱式的轉換成值類型

檢查該對象執行個體是否為給定值類型的一個裝了箱的值,將值從執行個體中複製出來

int i=10;object o=i;int j=(int)o;

引用參數&輸出參數

 ref  引用參數不建立新的位置,引用參數和其基礎變數操作的是同一個變數

out  輸出參數的值總是與基礎變數相同,該函數成員將在這一個儲存位置儲存新的值,並修改基礎變數的值

int F(int j,out int i){j--;i=j;//在修改i參數的值的同時也修改了i變數的值return i+j;}...int i;int sum=F(100,out i);

class Program    {        int F(ref int i, int j)        {            i--;            return i + j;        }        static void Main(string[] args)        {            int i = 10;            Program p = new Program();            int sum = p.F(ref i, 10);            Console.WriteLine("sum的值是:" + sum);            Console.ReadLine();        }    }


類型測試運算子 is as

is運算子用來測定運行時類型是否與給定類型相容,結果為bool

int i=100;bool j=i is object;//判斷變臉i是否可以轉換成object類型
as運算子是將一個值顯示的轉換為一個給定的參考型別,如果轉換失敗,則返回null
int i=10;object j=i as object;//將i由int類型轉換成object類型

foreach語句

int [] arr={2,3,4,5};int sum=0;foreach(int i in arr)//可以;理解為i是第幾個資料{sum+=i;}

命名空間

在同一個命名空間中,各個類可以互相調用,如果在不同的命名空間中,就需要在調用的類之前添加對應的命名空間名稱加點號

namespace Test{class demo1{}class demo2{}class demo3{static void Main(string[] args){Test.demo1 d1=new Test.demo1();Test.demo2 d2=new Test.demo2();}}}

::運算子

在程式中,可能會使用與系統封裝的類相同的的名稱命名的一個類,使用雙冒號可以在指定的命名空間中尋找1標示符

M::test1 t1=new M::test1();//使用::限定為M命名空間中的test1L::test1 t1=new L:;test1();//使用::限定為M命名空間中的test1

seald

seald類,密封類不能作為基類,也不能作為抽象類別,因此不能從密封類派生新的類

seald class Classs1{public void Fun(){}}

虛方法

虛方法可以由衍生類別實現(重寫方法)

...public class Program{public virtual void P1(){Console.WriteLine("program p1");}}public class Test:Program{public override void P1(){Console.WriteLine("Test.p1");}}...


密封方法

使用sealed修飾符,可以防止衍生類別重寫該方法

public class Test{public sealed override void p{Console.WriteLine("Test");}}

屬性

C#特有機制

...public class Program{private string name;publid string Name{get{return name;}set{name=value;}}static void Main(){Program p=new Program();p.Name="hxk";string name=p.Name;console.WriteLine(name);}}

索引器

申明索引器時,需要使用this關鍵字

public class Program{private string[] list;//string類型的數組public string this[int index]//申明索引器,索引為int類型{get{ return list[index];}//擷取list數組中的元素set{if(index>-1&&index<list.Length) list[index]=value;//設定list數組元素的值}}public Program(int count)//建構函式{list=new string[count];for(int i=0;i<count;i++){list[i]=i.toString();}}static void Main(string[] args){int count=100;Program p=new Program(count);for(int i=0;i<count;i++){//通過索引器訪問list數組的元素Console.WriteLine(p[i]+"");if(i%10==0)Console.WriteLine();}}}

解構函式  ~

解構函式是手動釋放類的執行個體佔用的資源,並銷毀類的執行個體

public class Program{~Program(){Console.WriteLine("銷毀類的執行個體");}}

結構

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Chapter9{    class Program    {        //聲明結構S        public struct S        {            int i;            public S(int i)            {                this.i = i;            }            public void F()            {                Console.WriteLine("今天是" + i + "號。");            }        }        static void Main(string[] args)        {            S s = new S(21);            s.F();            Console.ReadLine();        }    }}

動態數組

namespace Chapter10{    class Program    {        static void Main(string[] args)        {            ArrayList l = new ArrayList();                            //聲明一個動態數組l            l.Add("今天是2012年12月11日");            l.Add(2012);            l.Add(12);            l.Add(11);            foreach (object obj in l)            {                Console.WriteLine(obj);                            //將動態數組各元素列印輸出            }            Console.ReadLine();        }    }}




C#之初級篇

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.