c# 類型轉換

來源:互聯網
上載者:User

標籤:使用   os   資料   ar   amp   時間   line   ad   

一、類型轉換

1.強制轉換(顯示轉換)

A.變數=(需要轉換的類型)變數--僅適合於同一類型內轉換.

例:float a;

     double b=3.14;

     a=(float)b;

B.變數=Convert.To資料類型 (變數)--實值型別轉換.

PS:TO資料類型必須用".net資料類型"來表示.

例:float a;

    double b=3.14;

    a=Convert.ToSingle(b);

C.變數=資料類型.parse(變數)--"()"內只能為字串類型,將字串解析成相應實值型別.

例:float a;

     double b=3.14;

     a=float.parse(b)

PS:只有"()"內字串符合要轉變變數的類型才可以運行,否則編輯時不提示錯誤,但無法運行.

例:string b="Hello";

      int a=int.Parse(b)--因"Hello"無法轉換為"int".

2.電腦自動轉換(隱式轉換)--計算機只能針對同一類型資料進行運算.

二、運算子

1.數學運算

共7種:1)+  2)-   3)*   4)/   5)%   6)++   7)——

4)/ --整型與整型運算結果為整型.

例:int a=10;

     int b=3;

     Console.Writeline(a/b)--返回資訊為"3".

5)%--取餘,控制資料範圍時需使用.

例:int a=2357;

      int b=36;

      Console.WriteLine(a/b)--返回資訊值在0-35之間,如不需0值,可+1,,取值1-36之間.

6)++   自增    7)——   自減

A.一條語句中只有"++""——"運算時,變數前"++""——"與變數後"++""——"是一樣的,無優先處理順序.

  例:int a=10;

        a++;

      Console.WriteLine(a);--返回資訊為"11".

       int a=10;

        a——;

     Console.WriteLine(a);--返回資訊為"9".

B.一條語句中在除了"++""——"運算外還有其他運算時,變數前"++""——"運算中優先運算"++""——"資料;變數後"++""——"運算中最後運算"++""——"資料.

例:int a=10,b;

      b=a++;    --b=a,a=a+1.

      Console.WriteLine(a);--11

      Console.WriteLine(b);--10

例:int a=10,b;

      b=++a;    --a=a+1,b=a.

      Console.WriteLine("a="+a);   --a=11

      Console.WriteLine("b="+b);   --b=11

例:int a=10,b;

     b=a++,a=b++;

     Console.WriteLine("a="+a);   --a=12

     Console.WriteLine("b="+b);   --b=12

例:int a=10,b;

     b=++a,a=b++;

     Console.WriteLine("a="+a);   --a=12

     Console.WriteLine("b="+b);   --b=11

PS:"++""——"不論前後均僅針對於變數,"++""——"的前面只能是一個變數,不能是常量或公式.

2.關係運算 共6種:1)==   2)!=    3)>    4)<   5)>=    6)<=

1)== --判斷

例:int a=3,b=4,c=5;

Console.WriteLine(a==b);--bool類型,表示a與b相等嗎?成立嗎?--返回資訊為"false".

使用:可用於判斷結果是否為預期.

例:Console.Write("請輸入一個100以內的整數:");

string s=Console.ReadLine();

int num=Convert.ToInt32(s);

Console.WriteLine(num%7==0)--取餘是否為0?是否為整數?--數值是否為7的倍數?

Console.WriteLine(num%10==7)--數值個位元是否為7?

Console.WriteLine(num/10==7)--數值十位元是否為7?

PS:所有關係運算子,返回資訊都是bool型;表達成立--返回資訊為True;表達不成立--返回資訊為False.

3.邏輯運算

共3種:1)&&     2)||     3)!

1)&& --邏輯與,表示並且.

A.True && True = True

B.False && True =False

C.False && False =False 例:int a=3,b=4,c=5;

Console.WriteLine(a>b&&b<c);--返回資訊為"False".

例:int a=3,b=4,c=5;

Console.WriteLine(!(a>b)&&b<c);--返回資訊為"True".

2)|| --邏輯或

A.True || True =True

B.False || True =True

C.False || False =False

PS:所有邏輯運算子,返回資訊都是bool型;表達成立--返回資訊為True;表達不成立--返回資訊為False.

3)!  --邏輯非,取反.

4.其他運算子

1)賦值運算子:=

2)複合運算子:=為賦值 A.+=  B.—=  C.*=  D./=  E.%=

例:int a=5;

a+=10;  --a=a+10.

Console.WriteLine(a);--返回資訊為"15".

3)條件運算子:A.?    B.:

(運算式1)?(運算式2):(運算式3)

例:Console.WriteLine("請輸入24小時制的時間:");

int h =Convert.ToInt32(Console.ReadLine());    string ap="";

ap=h>12?"PM":"AM";  --h大於12嗎?成立就是"PM",不成立就是"AM".

h=h>12?h-12:h;  --h大於12嗎?成立就減去12,不成立就是h.

三、運算子的運算優先順序

數學運算子高於關係運算子,關係運算子高於邏輯運算子.

1)數學運算子的運算優先順序:"++""——"高於"*""/""%","*""/""%"高於"+""—".

2)邏輯運算子的運算優先順序:"&&"高於"||".

PS:()是最為優先運算,其次是!;變數後"++"為最後運算,其次是=.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.