鍍金池/ 教程/ C#/ 變量
循環(huán)
正則表達(dá)式
概述
委托
多態(tài)性
字符串
繼承
結(jié)構(gòu)體
集合
變量
不安全代碼
判斷
反射
異常處理
可空類型
方法
數(shù)據(jù)類型
命名空間
文件 I/O
類型轉(zhuǎn)換
屬性
程序結(jié)構(gòu)
事件
接口
預(yù)處理指令
運(yùn)算符
多線程
匿名方法
索引器
泛型
封裝
常量和文字
基本語(yǔ)法
特性
數(shù)組
環(huán)境配置
運(yùn)算符重載
枚舉

變量

一個(gè)變量只不過(guò)是一個(gè)供程序操作的存儲(chǔ)區(qū)的名字。在 C# 中,每個(gè)變量都有一個(gè)特定的類型,類型決定了變量的內(nèi)存大小、布局、可以存儲(chǔ)在內(nèi)存中的值的范圍以及可以對(duì)變量進(jìn)行的一系列操作。

C# 中提供的基本的值類型大致可以分為以下幾類:

類型 舉例
整數(shù)類型 sbyte、byte、short、ushort、int、uint、long、ulong 和 char
浮點(diǎn)型 float 和 double
十進(jìn)制類型 decimal
布爾類型 true 或 false 值,指定的值
空類型 可為空值的數(shù)據(jù)類型

C# 允許定義其他值類型的變量,比如 enum,也允許定義引用類型變量,比如 class。這些我們將在以后的章節(jié)中進(jìn)行討論。

變量定義

C# 中變量定義的語(yǔ)法:

<data_type> <variable_list>;

在這里,data_type 必須是一個(gè)有效的 C# 數(shù)據(jù)類型,可以是 char、int、float、double 或其他用戶自定義的數(shù)據(jù)類型。variable_list 可以由一個(gè)或多個(gè)用逗號(hào)分隔的標(biāo)識(shí)符名稱組成。

一些有效的變量定義如下所示:

int i, j, k;
char c, ch;
float f, salary;
double d;

您可以在定義一個(gè)變量時(shí)對(duì)其進(jìn)行初始化:

int i = 100;

變量初始化

變量通過(guò)等號(hào)后的一個(gè)常量表達(dá)式進(jìn)行初始化(也就是賦值)。初始化的一般語(yǔ)法為:

variable_name = value;

變量可以在聲明時(shí)被初始化。初始化由等號(hào)后的一個(gè)常量表達(dá)式完成,如下所示:

<data_type> <variable_name> = value;

一些實(shí)例:

int d = 3, f = 5;    /* 初始化 d 和 f. */
byte z = 22;         /* 初始化 z. */
double pi = 3.14159; /* 聲明 pi 的近似值 */
char x = 'x';        /* 變量 x 的值為 'x' */

適時(shí)地初始化變量是一個(gè)良好的編程習(xí)慣,否則有時(shí)程序會(huì)產(chǎn)生意想不到的結(jié)果。

請(qǐng)看下面的實(shí)例,使用了各種類型的變量:

namespace VariableDefinition
{
    class Program
    {
        static void Main(string[] args)
        {
            short a;
            int b ;
            double c;

            /* 實(shí)際初始化 */
            a = 10;
            b = 20;
            c = a + b;
            Console.WriteLine("a = {0}, b = {1}, c = {2}", a, b, c);
            Console.ReadLine();
        }
    }
}

編譯執(zhí)行上述代碼,得到如下結(jié)果:

a = 10, b = 20, c = 30

接受來(lái)自用戶的值

System 命名空間中的 Console 類提供了一個(gè)函數(shù) ReadLine(),用于接收來(lái)自用戶的輸入,并把它存儲(chǔ)到一個(gè)變量中。 例如:

int num;
num = Convert.ToInt32(Console.ReadLine());

函數(shù) Convert.ToInt32() 把用戶輸入的數(shù)據(jù)轉(zhuǎn)換為 int 數(shù)據(jù)類型,因?yàn)楹瘮?shù) Console.ReadLine() 只接受字符串格式的數(shù)據(jù)。

C# 中的 Lvalues 和 Rvalues

在 C# 中的兩種表達(dá)式:

  • lvalue:lvalue 表達(dá)式可以出現(xiàn)在賦值語(yǔ)句的左邊或右邊。
  • rvalue:rvalue 表達(dá)式可以出現(xiàn)在賦值語(yǔ)句的右邊,不能出現(xiàn)在賦值語(yǔ)句的左邊。

變量是 lvalue 的,所以可以出現(xiàn)在賦值語(yǔ)句的左邊。數(shù)值是 rvalue 的,因此不能被賦值,也不能出現(xiàn)在賦值語(yǔ)句的左邊。下面是一個(gè)有效的語(yǔ)句:

int g = 20;

下面是一個(gè)無(wú)效的語(yǔ)句,會(huì)在編譯時(shí)產(chǎn)生錯(cuò)誤:

10 = 20;
上一篇:文件 I/O下一篇:繼承