狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C#基礎(chǔ) =

admin
2017年2月7日 18:53 本文熱度 7477
1.       第一個(gè)C#程序

   

using System;

namespace
 aa

{

    
class
 MyFirstClass

    
{

       
static void
 Main()

       
{

          Console.WriteLine(
"This isn''t at all like Java!"
);

          Console.ReadLine();

          
return
;

       }


    }


}


   說明:

(1)       每個(gè)語句必須用一個(gè)分號(;)結(jié)尾

(2)       語句可以寫在多個(gè)代碼行上,不需要使用續(xù)行字符

(3)       單行注釋以“//”開頭,多行注釋/* …*/

(4)       Java一樣,所有的C#代碼都必須包含在一個(gè)類中

(5)       每個(gè)C#可執(zhí)行文件都必須有一個(gè)入口點(diǎn)——Main()方法,該方法要么返回void,要么返回一個(gè)整數(shù)(int

2.       變量

2.1    變量的定義

        在c#中聲明變量使用下述語法:datatype identifier

       例如: int i

       無論變量的數(shù)據(jù)類型是什么,聲明變量的c#語法都是相同的。

       多個(gè)變量的聲明,如果類型相同,可以用一個(gè)語句聲明,如果類型不同,必須用多個(gè)語句聲明:

      例如:int x=10,y=20;// x and y are both ints

       int x = 10, bool y = true;// this won’t compile!

2.2    變量的初始化

       C#編譯器需要對變量初始化之后才能在操作中引用該變量,C#編譯器把未初始化的變量當(dāng)作錯(cuò)誤來看 待,這樣可以防止我們無意中從其它程序遺留下來的內(nèi)存中獲取垃圾值。

        在C#中實(shí)例化一個(gè)引用對象需要使用new關(guān)鍵字。

       objSomething new Something(); // this creates a Something on the heap

2.3    變量的作用域

       一般情況下,確定作用域有以下規(guī)則:

      1) 只要字段所屬的類在某個(gè)作用域內(nèi),其字段也在該作用域內(nèi)。

      2) 局部變量存在于表示聲明該變量的塊語句或方法結(jié)束的封閉花括號之前的作用域

      3) forwhile或類似語句中聲明的局部變量存在于該循環(huán)體內(nèi)。

      4) 同名的局部變量不能在同一作用域內(nèi)聲明兩次。

public static void Main()

{

   
int j = 20
;

   
for(int i=0;i<10;i++
)

   
{

      
int j=30;//Can''t do this -j is still in scope


      Console.WriteLine(j
+i);

   }
 

}


     5) 編譯器可以區(qū)分字段和方法中的局部變量。

using System;

namespace
 aa

{

   
class
 ScopeTest2

   
{

      
static int j = 20
;

      
public static void
 Main()

      
{

         
int j = 30
;

         Console.WriteLine(j);

         
return
;

      
{

   }


}


3.       常量

常量格式:const int a = 10;

C#中,只能把局部變量和字段聲明為常量。

說明:

1) 常量必須在聲明時(shí)初始化,且不能更改

2) 常量的值必須在編譯時(shí)用于計(jì)算。因此不能從一個(gè)變量中提取值來初始化常量。如果需要這么做,應(yīng)使用只讀字段

3) 常量總是靜態(tài)的

4) 常量在程序中至少有3個(gè)好處:a)使程序更易于閱讀 b)使程序更易于修改 c)更容易避免程序出現(xiàn)錯(cuò)誤

4.       預(yù)定義數(shù)據(jù)類型

C#把數(shù)據(jù)類型分為兩種:值類型和引用類型。

值類型直接存儲(chǔ)其值,數(shù)據(jù)存儲(chǔ)在堆棧中;引用類型存儲(chǔ)對值的引用,而數(shù)據(jù)存儲(chǔ)在托管堆上。

C#有15個(gè)預(yù)定義類型,其中13個(gè)是值類型,2個(gè)是引用類型(stringobject)。

13個(gè)值類型包括8個(gè)整數(shù)類型sbyte、short、int、long、byte、ushort、uint、ulong;2個(gè)浮點(diǎn)類型float、double;1個(gè)deciaml類型decimal;1個(gè)bool類型bool;一個(gè)字符類型char;

1) 如果代碼沒有對某個(gè)非整數(shù)值硬編碼,則編譯器一般假定該變量是double。如果想指定值為float,可以在其后加上字符f(或F float f = 12.3f;

2) decimal類型不是基本類型,所以在計(jì)算時(shí)使用該類型會(huì)有性能損失,要把數(shù)字指定為decimal,可以在數(shù)字后面加上字符m(或M decimal d = 12.3m;

3) bool值不能和整數(shù)值轉(zhuǎn)換,bool值必須是true或者false

4) C#中,可以在字符串前面加上字符@,那么字符串中的所有字符都看作是其原來的意思。

string filepath = @”C:\ProCSharp\First.cs”;

5.       流控制

1)條件語句(if語句、switch語句)

     aif子句中的表達(dá)式必須等于布爾值,當(dāng)“==”誤寫成“=”時(shí),會(huì)導(dǎo)致一個(gè)編譯錯(cuò)誤。

     bcase的值必須是常量表達(dá)式——不允許使用變量,且常量不能相同(字符串可以作為測試變量)。

如果一個(gè)case子句為空,就可以從這個(gè)case跳到下一個(gè)case上,這樣就可以用相同的方式處理兩個(gè)或多個(gè)case子句。

C#中,switch子句里面case子句的排放順序是無關(guān)緊要的。

2)循環(huán)

C#除了for循環(huán)、while循環(huán)和do…while循環(huán) 以外增加了foreach循環(huán)。foreach循環(huán)可以迭代集合中的每個(gè)項(xiàng)目,但不能改變集合中各項(xiàng)的值。 如果需要改變各項(xiàng)的值,就應(yīng)使用for循環(huán)。例如:

 

foreach(int temp in arrayOfInts)

 
{

Console.WriteLine(temp);

 }


3)跳轉(zhuǎn)語句(gotobreakcontinuereturn

   goto跳轉(zhuǎn)到程序中用標(biāo)簽指定的另一行:

  

goto Label1;

        Console.WriteLine(“
this
 won’t be executed”);

   Label1:

        Console.WriteLine(“Continuing execution from here”);

   goto語句有兩個(gè)限制:不能跳轉(zhuǎn)到像for循環(huán)這樣的代碼塊中,也不能跳出類的范圍,不能退出try…catch塊后面的finally塊。

   break可以用于退出forforeachwhile、或do…while循環(huán)。

   continue只從循環(huán)的當(dāng)前迭代中退出,然后在循環(huán)的下一次迭代開始重新執(zhí)行,而不是退出循環(huán)。

   return用于退出類的方法,把控制返回方法的調(diào)用者。

6.       枚舉

枚舉是用戶定義的整數(shù)類型,在聲明一個(gè)枚舉時(shí),要指定該枚舉可以包含的一組可接受的實(shí)例值。

public enum TimeOfDay

{

   Morning,Afternoon,Eveing

}


7.       數(shù)組

定義:int[] integers;

初始化:integers = new int[32];

所有的數(shù)組都是引用類型,并遵循引用的語義

8.       命名空間

命名空間提供了一種組織相關(guān)類和其它類型的方式,它時(shí)一種邏輯組合,而不是物理組合。

namespace CustomerPhoneBookApp

{

  
using
 System;

   
public struct
 Subscriber

   
{

   }


}


命名空間可以嵌套,注意不允許在另一個(gè)嵌套的命名空間中聲明多部分的命名空間。

為了避免命名空間輸入的繁瑣,可以用using語句來解決。

using System;

using Wrox.ProCSharp;

命名空間也可以用別名來代替:using alias = NamespaceName;

9.       Main()方法

C#程序是從Main()方法開始執(zhí)行的,該方法必須是類或者結(jié)構(gòu)的靜態(tài)方法,且返回類型必須是intvoid

如果程序包含多個(gè)Main()方法,編譯器就會(huì)返回一個(gè)錯(cuò)誤,但是可以使用/main選項(xiàng),顯示的告訴編譯器把哪個(gè)方法作為程序的入口點(diǎn):

例如:csc MainExample.cs/main:Wrox.ProCSharp.Basics.MathExample

也可以為Main()方法傳送參數(shù):

public static int Main(string[] args)

{

}

編譯好之后,可以在執(zhí)行文件名后面加上參數(shù):

ArgsExample /a /b /c

10.   控制臺(tái)I/O

Console.ReadLine()從控制臺(tái)讀取一行文本

Console.Write()將指定的值寫入控制臺(tái)窗口

Console.WriteLine()輸出的結(jié)果最后添加一個(gè)換行符

格式化顯示:

Console.WriteLine(“{0} plus {1} equals {2}”, i,j,i+j);

也可以指定寬度,{n,w} n是參數(shù)索引,w是寬度值,正值表示右對齊,負(fù)值表示左對齊

還可以使用格式字符串:

Console.WriteLine(“{0,9:c2}”,i);

最后,可以使用占位符來代替這些格式字符串:

double d = 0.234;

Console.WriteLine(“{0:#.00}”,d)

結(jié)果為:0.23

11. XML文檔說明

///<summary>

///   The Add method allows us to add two integers

///</summary>

///<returns>Result of the addition(int)</returns>

///<param name=”x”>First number to add</param>

///<param name=”y”>Second number to add</param>

 

編譯:csc /doc:Math.xml Math.cs

12. C#預(yù)處理指令

   預(yù)處理指令不會(huì)轉(zhuǎn)化為可執(zhí)行代碼中的命令,但會(huì)影響編譯過程的各個(gè)方面。例如:可以使用預(yù)處理指令禁止編譯程序編譯代碼的某一部分。

   1#define#undef

     #define DEBUG 告訴編譯器存在給定名稱的符號

     #undef DEBUG   刪除符號的定義

     必須把#define#undef放在C#源代碼的開頭,在聲明要編譯的任何對象的代碼之前。

     #define本身沒有什么用,必須跟其它預(yù)處理指令結(jié)合使用。

   2#if,#elif,#else,#endif

     這些指令告訴編譯器是否要編譯某個(gè)代碼塊

     

int DoSomeWork(double x)

     
{

        
#if DEBUG


        Console.WriteLint(“x 
is ” + x);//這行代碼只有在定義了DEBUG后才會(huì)執(zhí)行

        
#endif

     }


     #elif(=else if)#else 指令都可以用在#if塊中,也可以嵌套#if

3#warning #error

     當(dāng)編譯器遇到它們時(shí),會(huì)分別產(chǎn)生一個(gè)警告或者錯(cuò)誤。如果遇到#warning,會(huì)給用戶顯示#warning指令后面的文本,之后編譯器繼續(xù)進(jìn)行。如果遇到#error,會(huì)給用戶顯示#error后面的文本,作為一個(gè)編譯錯(cuò)誤信息,然后會(huì)立即退出編譯,不會(huì)生成IL代碼。

4)#region和#endregion

     用于把一段代碼標(biāo)記為給定名稱的一個(gè)塊,使代碼布局清晰明了

5)#line

     用于改變編譯器在警告和錯(cuò)誤信息中顯示的文件名和行號信息。這個(gè)指令用得不多。


該文章在 2017/2/7 18:53:21 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved