C#類的成員之Field字段的使用
字段是在類中聲明的成員變量,用來儲存描述類特征的值,字段可以被該類中聲明的成員函數(shù)訪問,根據(jù)字段的訪問控制,也可以在其他類中通過該類或該類的實例進行訪問.字段可以是任意變量類型.
字段(field)是類中最常見的成員之一。字段是在類或結構中直接聲明的任意類型的變量,C#支持靜態(tài)字段(類型字段)和實例字段。對于實例字段,其內(nèi)存在創(chuàng)建實例時動態(tài)分配,而對于靜態(tài)字段,其內(nèi)存在類型對象創(chuàng)建時分配。
用readonly修飾符聲明的字段為只讀字段,只讀字段是特殊的實例字段,它只能在字段聲明中或構造函數(shù)中重新賦值,在其他任何地方都不能改變字段的值。不過,反射可以修改只讀字段(沒有什么是反射改不了的)。
如果類的字段沒有賦值,則會自動賦默認處置,數(shù)值型為0,字符串型為空字符串。
靜態(tài)字段
靜態(tài)字段屬于類本身,并在該類的所有實例之間共享。
只能使用類名訪問靜態(tài)字段,如果按實例名稱訪問靜態(tài)字段,將出現(xiàn)CS0176編譯時錯誤。
在類的外部必須采用如下方法引用靜態(tài)字段:”類名.靜態(tài)字段名”
實例字段
如果類中定義的字段不含有修飾符static,該字段為實例字段。
在類的外部,實例字段采用如下方法引用:”實例名.實例字段名”.
例程分析
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
?
namespace 類的成員之字段
{
? ? public class Field
? ? {
? ? ? ? public static int inta;//靜態(tài)字段有關鍵字static,一般是private屬性,只能在類里訪問
? ? ? ? public readonly int intb = 1;//readonly實例字段
? ? ? ? public int intc;//實例字段
? ? ? ? public string str;//實例字段
? ? }
? ? class Program
? ? {
? ? ? ? static void Main(string[] args)
? ? ? ? {
? ? ? ? ? ? Console.WriteLine("inta值是:" + Field.inta);
? ? ? ? ? ? Field.inta = 19;//靜態(tài)字段賦值訪問
? ? ? ? ? ? Console.WriteLine("inta賦值后是:" + Field.inta);
? ? ? ? ? ? //Field.intb;無法讀取,讀取方式錯誤
? ? ? ? ? ? Field a = new Field();
? ? ? ? ? ? Console.WriteLine("intb值是:" + a.intb);
? ? ? ? ? ? //a.intb = 1;readonly實例字段是只讀的,修改賦值報錯
? ? ? ? ? ? Console.WriteLine("intc值是:" + a.intc);
? ? ? ? ? ? a.intc = 100;
? ? ? ? ? ? Console.WriteLine("intc賦值后是:" + a.intc);
? ? ? ? ? ? Console.WriteLine("str數(shù)據(jù)值是:" + a.str);
? ? ? ? ? ? a.str = "123";
? ? ? ? ? ? Console.WriteLine("str賦值后是:" + a.str);
? ? ? ? ? ? Field b = new Field();
? ? ? ? ? ? Console.WriteLine("intc值是:" + b.intc);
? ? ? ? ? ? b.intc = 200;
? ? ? ? ? ? Console.WriteLine("intc賦值后是:" + b.intc);
? ? ? ? ? ? Console.WriteLine("intc賦值后是:" + a.intc);
? ? ? ? ? ? Console.ReadKey();
?
? ? ? ? }
? ? }
}
到此這篇關于C#類的成員之Field字段的使用的文章就介紹到這了,更多相關C# Field字段內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
將excel數(shù)據(jù)轉(zhuǎn)換成dataset示例
這篇文章主要介紹了不借助第三方插件的情況下將Excel中的數(shù)據(jù)轉(zhuǎn)換成DataSet的方法,需要的朋友可以參考下2014-02-02
C#實現(xiàn)將RTF轉(zhuǎn)為HTML的示例代碼
RTF文檔即富文本格式(Rich?Text?Format)的文檔。我們在處理文件時,遇到需要對文檔格式進行轉(zhuǎn)換時,可以將RTF轉(zhuǎn)為其他格式,如轉(zhuǎn)為DOCX/DOC、PDF或者HTML。本文將利用C#實現(xiàn)RTF轉(zhuǎn)HTML,需要的可以參考一下2022-04-04
詳解C#借助.NET框架中的XmlTextReader類讀取XML的方法
這篇文章主要介紹了詳解借助.NET框架中的XmlTextReader類讀取XML的方法,這種方式的執(zhí)行效率還是比較令人滿意的,需要的朋友可以參考下2016-04-04
C#優(yōu)雅的實現(xiàn)INotifyPropertyChanged接口
這篇文章介紹了C#實現(xiàn)INotifyPropertyChanged接口的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08

