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

C# 程序開發(fā)入門基礎(chǔ)技術(shù)-變量

admin
2024年12月29日 8:27 本文熱度 218
?

聲明變量
變量的初始化和作用域
C#的預(yù)定義數(shù)據(jù)類型
C#程序中使用循環(huán)和條件語句執(zhí)行流
枚舉
命名空間
Main()
基本的命名行C#編譯器選項(xiàng)
使用System.Console執(zhí)行控制臺I/O
在C#和Visual Studio.NET 中使用文檔編制功能
C#標(biāo)識符和關(guān)鍵字
C#編程的推薦規(guī)則和約定

引言

C# 是一種面向?qū)ο蟮恼Z言

第一個(gè)程序

代碼

using System;

namespace Wrox.ProCSharp.Basics
{
    class MyFirstCSharpClass
    {
        static void Main()
        {
            Console.WriteLine("This isn't at all like Java!");
            Console.ReadLine();
            return;
        }
    }
}

變量

變量定義語法

在C#中聲明變量使用下述語法:
datatype identifier;比如:int i;

變量的初始化

C#中有兩個(gè)方法可確保變量在使用前進(jìn)行初始化:
①變量是類或結(jié)構(gòu)中的字段,如果沒有顯式初始化,在默認(rèn)狀態(tài)下創(chuàng)建這些變量時(shí),其值就是0。
②方法的局部變量必須在代碼中顯式初始化,才能在語句中使用其值。此時(shí),初始化不是在聲明該變量時(shí)進(jìn)行的,但編譯器會通過方法檢查所有可能路徑,如果檢測到局部變量在初始化之前就使用其值,就會報(bào)錯(cuò)。

注意:在C#中實(shí)例化一個(gè)引用對象需要使用new關(guān)鍵字。創(chuàng)建一個(gè)引用,使用new 關(guān)鍵字把該引用指向存儲在堆上的一個(gè)對象:
objSomething=new Something();

變量的作用域

概要:
變量的作用域是可以訪問該變量的代碼區(qū)域。

變量作用域規(guī)則

①只要字段所屬的類在某個(gè)作用域內(nèi),其字段(也稱為成員變量)也在該作用域內(nèi)(在C++、Java和VB中也是這樣)。
②局部變量存在于表示聲明該變量的塊語句或方法結(jié)束時(shí)的封閉花括號之前的作用域內(nèi)。
③在for、while或類似語句中聲明的局部變量存在于該循環(huán)內(nèi)(C++程序員注意,這域C++的ANSI標(biāo)準(zhǔn)相同。Microsoft C++編譯器早期版本不遵守該標(biāo)準(zhǔn),但在循環(huán)停止后這種變量仍然存在)。

局部變量的作用域沖突

大型程序在不同部分為不同的變量使用相同的變量名是很常見的。變量的作用域是程序的不同部分,但要注意,同名的局部變量不能再通一作用域內(nèi)聲明兩次。所以下面代碼不能夠使用。

int x=20;
int x=30;

變量i對于循環(huán)來說是局部變量!

using System;

namespace Wrox.ProSharp.Basics
{
    public class ScopeTest
    {
        public static int Main()
        {
            for(int i=0;i<10;i++)
            {
                Console.WriteLine(i);
            }//i goes out of scope here

            // we can declare a variable named i again,because
            //there's no other variable with that name in scope
            for(int i=9;i>=0;i--)
            {
                Console.WriteLine(i);
            }//i goes out of scope here
            return 0;
        }
    }
}
public static int 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);
    }
    return 0;
}

編譯報(bào)錯(cuò):
變量j是在for 循環(huán)開始前定義,在執(zhí)行for循環(huán)時(shí)應(yīng)處于其作用域內(nèi),在Main方法結(jié)束執(zhí)行后,變量j才超出作用域,第二個(gè)j(不合法)則在循環(huán)的作用內(nèi),該作用域嵌套在Main方法的作用域內(nèi)。編譯器無法區(qū)別這兩個(gè)變量,所以不允許聲明第二個(gè)變量。這也是與C++不同的的地方,在C++中,允許隱藏變量。

字段和局部變量的作用域沖突

在某些情況下,可以區(qū)分名稱相同(盡管其完全限定的名稱不同)、作用域相同的兩個(gè)標(biāo)識符。此時(shí)編譯器允許聲明第二個(gè)變量。原因是C#在變量之間有一個(gè)基本的區(qū)分,它把聲明為類型級的變量看作是字段,而把在方法中聲明的變量看作局部變量。

using System;

namespace Wrox.ProCSharp.Basics
{
    class ScopeTest2
    {
        static int j=20;

        public static void Main()
        {
            int j=30;

            Console.WriteLine(j);

            return;
        }
    }
}

在Main方法中聲明的新變量j隱藏同名的類級變量,所以在運(yùn)行這段代碼時(shí),會顯示數(shù)字30。

如果要引用類級變量,怎么辦?可以使用語法object.filedname,在對象的外部引用類的字段或結(jié)構(gòu)。

using System;

namespace Wrox.ProCSharp.Basics
{
    class ScopeTest2
    {
        static int j=20;

        public static void Main()
        {
            int j=30;

            Console.WriteLine(ScopeTest2.j);

            return;
        }
    }
}

如果要訪問一個(gè)實(shí)例字段(該字典屬于類的一個(gè)特定實(shí)例)需要使用this關(guān)鍵字。this的作用與C++和Java中的this相同,與VB中的Me相同

常量

在聲明和初始化變量時(shí),在變量的前面加上關(guān)鍵字const,可以把該變量指定為一個(gè)常量。常量是其值在使用過程中不會發(fā)生變化的變量。
在C++中,變量不僅可以聲明為常量,根據(jù)聲明,可以有常量指針,指向常量的變量指針、常量方法(不改變包含對象的內(nèi)容),方法的常量參數(shù)等。這些細(xì)微特性,在C#中都刪除,只能把局部變量和字段聲明為常量。

常量的特征

①常量必須在聲明時(shí)初始化。指定其值,便不再修改。
②常量的值必須能在編譯時(shí)用于計(jì)算。不能用從一個(gè)變量中提取的值來初始化常量,否則需要使用只讀字段。
③常量必須在聲明時(shí)初始化。指定其值,便不再修改。

常量優(yōu)點(diǎn)

①常量易用于理解的青春名稱替代含義不明確的數(shù)組或字符串,便于程序更易閱讀。
②常量使程序更易于修改。
③常量更容易避免程序出現(xiàn)錯(cuò)誤。


該文章在 2024/12/30 12:39:32 編輯過
關(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倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(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

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
日本综合精品中文 | 亚洲中文字幕在线视频 | 日本在线不卡v免 | 日本私人免费网站在线观看 | 天色综合久久久久久久噜噜 | 亚洲精品影院在线网页 |