C# 常量

<!--註釋:博友看過此文章後能夠將本身的練習筆記寫在下面評論區或私信發給我,我看到會將其添加到文章筆記欄裏面並備註上博友的名字/暱稱!這樣可讓更多的博友看到更好的學習固然本身也能夠在這裏再次回顧並與其餘博友交流。--!>c#

今天咱們來說一下c#常量:C#的常量是固定值,程序執行期間不會改變。常量能夠是任何基本數據類型,好比整數常量、浮點常量、字符常量或者字符串常量,還有枚舉常量。常量能夠被看成常規的變量,只是它們的值在定義後不能被修改。學習

C#常量有如下五種:整數常量、浮點常量、字符常量、字符串常量、定義常量五類。測試

1.整數常量

整數常量能夠是十進制、八進制或十六進制的常量。前綴指定基數:0x 或 0X 表示十六進制,0 表示八進制,沒有前綴則表示十進制。整數常量也能夠有後綴,能夠是 U 和 L 的組合,其中,U 和 L 分別表示 unsigned 和 long。後綴能夠是大寫或者小寫,多個後綴以任意順序進行組合。這裏有一些整數常量的實例:spa

212         /* 合法 */
215u        /* 合法 */
0xFeeL      /* 合法 */
078         /* 非法:8 不是一個八進制數字 */
032UU       /* 非法:不能重複後綴 */

  如下是各類類型的整數常量的實例:orm

85         /* 十進制 */
0213       /* 八進制 */
0x4b       /* 十六進制 */
30         /* int */
30u        /* 無符號 int */
30l        /* long */
30ul       /* 無符號 long */

  

2.浮點常量

一個浮點常量是由整數部分、小數點、小數部分和指數部分組成。您可使用小數形式或者指數形式來表示浮點常量。這裏有一些浮點常量的實例:server

3.14159       /* 合法 */
314159E-5L    /* 合法 */
510E          /* 非法:不徹底指數 */
210f          /* 非法:沒有小數或指數 */
.e55          /* 非法:缺乏整數或小數 */

  

字符常量是括在單引號裏,例如,'x',且可存儲在一個簡單的字符類型變量中。一個字符常量能夠是一個普通字符(例如 'x')、一個轉義序列(例如 '\t')或者一個通用字符(例如 '\u02C0')。blog

在 C# 中有一些特定的字符,當它們的前面帶有反斜槓時有特殊的意義,可用於表示換行符(\n)或製表符 tab(\t)。在這裏,列出一些轉義序列碼:three

轉義序列 含義
\\ \ 字符
\' ' 字符
\" " 字符
\? ? 字符
\a Alert 或 bell
\b 退格鍵(Backspace)
\f 換頁符(Form feed)
\n 換行符(Newline)
\r 回車
\t 水平製表符 tab
\v 垂直製表符 tab
\ooo 一到三位的八進制數
\xhh . . . 一個或多個數字的十六進制數

如下是一些轉義序列字符的實例:字符串

namespace EscapeChar
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello\tWorld\n\n");
            Console.ReadLine();
        }
    }
}

  當上面的代碼被編譯和執行時,它會產生下列結果:string

Hello   World

  

4.字符串常量

字符串常量是括在雙引號 "" 裏,或者是括在 @"" 裏。字符串常量包含的字符與字符常量類似,能夠是:普通字符、轉義序列和通用字符

使用字符串常量時,能夠把一個很長的行拆成多個行,可使用空格分隔各個部分。

這裏是一些字符串常量的實例。下面所列的各類形式表示相同的字符串。

string a = "hello, world";                  // hello, world
string b = @"hello, world";               // hello, world
string c = "hello \t world";               // hello     world
string d = @"hello \t world";               // hello \t world
string e = "Joe said \"Hello\" to me";      // Joe said "Hello" to me
string f = @"Joe said ""Hello"" to me";   // Joe said "Hello" to me
string g = "\\\\server\\share\\file.txt";   // \\server\share\file.txt
string h = @"\\server\share\file.txt";      // \\server\share\file.txt
string i = "one\r\ntwo\r\nthree";
string j = @"one
two
three";

  

5.定義常量

常量是使用 const 關鍵字來定義的 。定義一個常量的語法以下:

const <data_type> <constant_name> = value;

  下面的代碼演示瞭如何在程序中定義和使用常量:

using System;
 
namespace DeclaringConstants
{
    class Program
    {
        static void Main(string[] args)
        {
            const double pi = 3.14159; // 常量聲明
            double r;
            Console.WriteLine("Enter Radius: ");
            r = Convert.ToDouble(Console.ReadLine());
            double areaCircle = pi * r * r;
            Console.WriteLine("Radius: {0}, Area: {1}", r, areaCircle);
            Console.ReadLine();
        }
    }
}

  當上面的代碼被編譯和執行時,它會產生下列結果:

Enter Radius: 
3
Radius: 3, Area: 28.27431

  

筆記

 

一、Convert.ToDouble 與 Double.Parse 的區別。實際上 Convert.ToDouble 與 Double.Parse 較爲相似,實際上 Convert.ToDouble內部調用了 Double.Parse:

(1)對於參數爲null的時候:

  •  Convert.ToDouble參數爲 null 時,返回 0.0;
  •  Double.Parse 參數爲 null 時,拋出異常。

(2)對於參數爲""的時候:

  •  Convert.ToDouble參數爲 "" 時,拋出異常;
  •  Double.Parse 參數爲 "" 時,拋出異常。

(3)其它區別:

  •  Convert.ToDouble能夠轉換的類型較多;
  •  Double.Parse 只能轉換數字類型的字符串。
  •  Double.TryParse 與 Double.Parse 又較爲相似,但它不會產生異常,轉換成功返回 true,轉換失敗返回 false。最後一個參數爲輸出值,若是轉換失敗,輸出值爲 0.0。

附測試代碼:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                //string a = "0.2";
                //string a = null;
                string a = "";
                try
                {
                    double d1 = Double.Parse(a);
                }
                catch (Exception err)
                {
                    Console.WriteLine("d1轉換出錯:" + err.Message);
                }
 
                try
                {
                    double d2 = Convert.ToDouble(a);
                }
                catch (Exception err)
                {
                    Console.WriteLine("d2轉換出錯:" + err.Message);
 
                }
                try
                {
                    double d3;
                    Double.TryParse(a,out d3);
                }
                catch (Exception err)
                {
                    Console.WriteLine("d3轉換出錯:" + err.Message);
                }
            }
            finally
            {
                Console.ReadKey();
            }
 
        }
    }
}

  

註釋:博友看過此文章後能夠將本身的練習筆記寫在下面評論區或私信發給我,我看到會將其添加到文章筆記欄裏面並備註上博友的名字/暱稱!這樣可讓更多的博友看到更好的學習固然本身也能夠在這裏再次回顧並與其餘博友交流。

相關文章
相關標籤/搜索