程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#分歧類型的成員變量(字段)的默許值引見

C#分歧類型的成員變量(字段)的默許值引見

編輯:C#入門知識

C#分歧類型的成員變量(字段)的默許值引見。本站提示廣大學習愛好者:(C#分歧類型的成員變量(字段)的默許值引見)文章只能為提供參考,不一定能成為您想要的結果。以下是C#分歧類型的成員變量(字段)的默許值引見正文


創立類的一個實例時,在履行結構函數之前,假如你沒有給成員變量賦初始值,C#編譯器缺省將每個成員變量初始化為他的默許值。

假如變量是辦法的部分變量,編譯器就會以為在應用該變量之前,代碼必需給它顯示的設定一個值。不然會產生“應用了未賦值的部分變量”的毛病。

關於其他情形,編譯器會在創立變量時,把變量初始化為默許值。
1、關於整型、浮點型、列舉類型(數值型),默許值為0或0.0。
2、字符類型的默許值為\x0000。
3、布爾類型的默許值為false。
4、援用類型的默許值為null。

假如聲時變量時,為它指定了初始值(int i=10;),那末這個值就用於初始化該變量了。

固然C#編譯器為每一個類型都設置了默許類型,但作為面向對象的設計准繩,我們照樣須要對變量停止准確的初始化。現實上這也是C#推舉的做法,沒有對變量停止初始化會招致編譯器收回正告信息。我們弗成能為一切成員變量賦初始值,固然就是賦了值,也紛歧定就知足我們的請求。由於我們在應用時,有能夠轉變我們的初始值。那末我們就要借助結構函數來初始化我們的成員變量。

// 體系將為未在結構函數賦值的成員變量賦默許值

using System;
public class Dog
{
    public string name;
    public int age;
    public static void Main()
    {
        Dog myDog = new Dog();
        Console.WriteLine("myDog的名字為“{0}”,年紀為{1}。", myDog.name, myDog.age);
    }
}

上述法式中,當創立對象myDog時,會挪用默許的結構函數。一切字段都邑被賦給一個默許的值。
輸入成果為:
myDog的名字為“”,年紀為0。

這類特征固然可以或許防止編譯毛病,然則違反了變量的“先賦值、後應用”准繩,這些“有害的”默許值很輕易發生難以辨認的毛病,建議盡量地在結構函數中對一切成員變量賦值。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved