亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C# 靜態變量與靜態方法實例研究

2020-01-24 03:42:43
字體:
來源:轉載
供稿:網友
程序如下:
復制代碼 代碼如下:

public static string 英漢(string english,翻譯結果 一個或多個)
{
string 英漢辭典 = Settings.Default.辭典所在目錄+"haou_dict.xml";
try
{
if (File.Exists(英漢辭典))
{
XDocument dictionary = XDocument.Load(英漢辭典);
var query = from p in dictionary.Descendants("Name")
where p.Value.ToLower() == english.ToLower()
select p.Parent.Element("Content");
if (query.FirstOrDefault() == null)
{
return null;
}
else//可以翻譯
{
if (一個或多個==翻譯結果.多個)
{
return query.FirstOrDefault().Value.Trim();
}
else if (一個或多個 == 翻譯結果.一個)
{
return 得到第一個漢字詞(query.FirstOrDefault().Value);
}
throw new Exception("參數錯誤!");
}
}
else
{
throw new Exception("詞典文件不存在!");
}
}
catch (Exception)
{
throw new Exception("詞典文件出錯!");
}
}

分析了一下,原因在于每次調用這個方法時都會去載入黃條處這個英漢辭典,如果執行2000次,就會載入2000次,自然速度慢,有沒有什么辦法在程序運行時只載入一次呢?想起在尚學堂看過的設計模式中有一個單例工廠模式,使用了靜態變量,似乎能夠解決,實例驗證:
先定義一個類:
復制代碼 代碼如下:

class 翻譯{
public static XDocument 英漢辭典內容 = 英漢辭典初始化();
public XDocument 構造英漢辭典內容;
public 翻譯()
{
構造英漢辭典內容 = 英漢辭典初始化();
}
public static XDocument 英漢辭典初始化()
{
if (File.Exists(英漢辭典文件))
{
return XDocument.Load(英漢辭典文件);
}
else
{
throw new Exception("英漢詞典文件不存在!");
}
}
}

主程序:
復制代碼 代碼如下:

var one = 翻譯.英漢辭典內容;
var two = 翻譯.英漢辭典內容;
if (one==two)
{
MessageBox.Show("相同");
}
else
{
MessageBox.Show("不同");
}
one = new 翻譯().構造英漢辭典內容;
two = new 翻譯().構造英漢辭典內容;
if (one == two)
{
MessageBox.Show("相同");
}
else
{
MessageBox.Show("不同");
}

結果:

image

 

image

分析如下:
無論是使用靜態的翻譯.英漢辭典內容,還是new 翻譯().構造英漢辭典內容,他們都調用了 英漢辭典初始化() ,但是靜態變量中的值只會初始化一次,后面每次訪問,都是上次處理過的值,所以第一次顯示的結果是相同,也就是說one,two的值其實是一個,第二個two訪問的其實是第一次one初始化后的值;而使用類的構造函數來初始化變量每次都會重復初始化,自然其結果不同.
再比如(以下內容為轉載):
復制代碼 代碼如下:

class Program
{
static void Main(string[] args)
{//輸出未經定義的靜態變量,結果為0;也說明了,在C#中未賦初值的變量系統自動賦為0
Console.WriteLine(sort.i);
//靜態變量的訪問方法(類名.靜態變量名),而且還可以在外部操作靜態變量呢,可見靜態變量并不神秘;
sort.i = 5;
//輸出5
Console.WriteLine(sort.i);
//還可以通過構造函數對靜態變量初值呢,呵
sort sortTest = new sort();
//輸出構造函數中的賦值 3;
Console.WriteLine(sort.i);
}
}
class sort
{
public static int i;
public sort()
{
i = 3;
}
}

總結:在類內部訪問靜態變量時,直接用靜態變量名即可,不用以(類名.靜態變量名),這樣的方式訪問,
除了有靜態變量之外,還有靜態類實例,還有靜態方法.但用法都是大同小異;
如:public static void myFun(){} //靜態方法
private static Random MyRandom=new Random(); //靜態類實例
之所以有時聲明為私有靜態變量,是為了讓它只初始化一次.這樣節省了內存空間
但又想讓它在外部是不可訪問的,這樣利用私有這個訪問限定符就搞定了.
私有靜態:安全又節省空間.
例:如果想在每次實例化類的時間生成一組隨機數,但產生隨機數是要用到一個類的,即Random,這個類不是靜態類,它要產生實例,用產生的實例來生成隨機數,但如果在每次類實例化時都產生一個Random實例,那內存空間簡直是極大的浪費,所以可以用:
private static Random MyRandom=new Random();
這樣每次類實例化時,都會用同一個Random實例MyRandom來產生隨機數
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩电影在线观看免费| 萌白酱国产一区二区| 日日狠狠久久偷偷四色综合免费| 欧美洲成人男女午夜视频| 中文字幕日韩在线观看| 91爱爱小视频k| 欧美另类xxx| 欧美日韩一二三四五区| 亚洲欧美国产精品va在线观看| 九九久久久久久久久激情| 91久久久久久| 国产精品精品一区二区三区午夜版| 91久久精品美女高潮| 国产精品白嫩美女在线观看| 国产精品旅馆在线| 琪琪亚洲精品午夜在线| 日韩av电影在线播放| 欧美日韩国产色视频| 在线播放日韩欧美| 国产精品扒开腿做爽爽爽的视频| 国产精品十八以下禁看| 国产精品久久久久久久午夜| 亚洲电影第1页| 亚洲欧洲日产国码av系列天堂| 日韩av在线一区| 这里精品视频免费| 国内外成人免费激情在线视频| 国产一区红桃视频| 亚洲性生活视频在线观看| 亚洲女人天堂色在线7777| 中文精品99久久国产香蕉| 91精品中文在线| 国产亚洲一区二区在线| 久久久人成影片一区二区三区| 亚洲精品视频在线观看视频| 欧美男插女视频| 久久久视频在线| 亚洲精品国产拍免费91在线| 91热精品视频| 日韩电影网在线| 欧美激情按摩在线| 欧美亚洲一区在线| 色偷偷av一区二区三区| 亚洲国产精品国自产拍av秋霞| 国产精品视频地址| 欧美日韩国产成人高清视频| 色综合亚洲精品激情狠狠| 91av在线免费观看| 亚洲欧美日韩一区二区三区在线| 日韩欧美视频一区二区三区| 国产成人精品综合| 国产日韩欧美中文在线播放| 国产亚洲一区二区在线| 亚洲人成亚洲人成在线观看| 国产精品久久婷婷六月丁香| 正在播放亚洲1区| 久久视频在线播放| 不卡av日日日| 国内精品久久久久久中文字幕| 欧美成在线观看| 色婷婷av一区二区三区久久| 国产欧美精品一区二区三区-老狼| 亚洲新中文字幕| 亚洲伊人第一页| 大荫蒂欧美视频另类xxxx| 国产a∨精品一区二区三区不卡| 国内精品视频一区| 精品国产自在精品国产浪潮| 成人国产精品色哟哟| 欧美一区二区视频97| 国产在线999| 亚洲成年人影院在线| 欧美日韩国产一区二区三区| 日韩成人av网址| 国产91网红主播在线观看| 亚洲一区二区中文字幕| 国自产精品手机在线观看视频| 日产精品久久久一区二区福利| 日韩在线视频观看| 亚洲国产精品成人va在线观看| 日韩中文字幕av| 国产精品久久久久久亚洲影视| 青草热久免费精品视频| 欧美亚洲日本黄色| 日韩一区二区三区xxxx| 色yeye香蕉凹凸一区二区av| 日韩视频欧美视频| 成人xxxx视频| 91影院在线免费观看视频| 国产精品免费观看在线| 国产精品久久久久久久久久久不卡| 欧美激情第1页| 日本一欧美一欧美一亚洲视频| 国产欧美久久久久久| 欧美性jizz18性欧美| 亚洲va男人天堂| 亚洲xxxx妇黄裸体| 夜夜嗨av色综合久久久综合网| 国模视频一区二区三区| 国产福利成人在线| 91香蕉国产在线观看| 久久成人av网站| 精品视频—区二区三区免费| 久久99亚洲精品| 色妞一区二区三区| 91社影院在线观看| 国产日本欧美视频| 午夜精品免费视频| 国产一区在线播放| 韩国欧美亚洲国产| 国产精品激情自拍| 国产69精品久久久久9999| 欧美伊久线香蕉线新在线| 精品亚洲aⅴ在线观看| 综合av色偷偷网| 久久久久久尹人网香蕉| 久久久精品国产一区二区| 日韩在线激情视频| 九九热精品视频| 亚洲免费伊人电影在线观看av| 国产精品免费看久久久香蕉| 久久成人精品视频| 日韩中文字幕视频在线观看| 日韩美女视频免费看| 久久99亚洲精品| 国产91精品久| 国产精品久久一| 91av视频在线| 91爱爱小视频k| 亚洲精品美女久久久久| 国产亚洲视频中文字幕视频| 国产精品久久久久秋霞鲁丝| 啊v视频在线一区二区三区| 成人妇女免费播放久久久| 成人伊人精品色xxxx视频| 国产精品久久久久久久久借妻| 中文字幕日韩欧美精品在线观看| 在线精品国产欧美| 国内精品在线一区| 成人免费看片视频| 一区二区三区在线播放欧美| 亚洲精品国产成人| 精品久久中文字幕久久av| 亚洲mm色国产网站| 日韩av电影手机在线| 日本高清视频精品| 羞羞色国产精品| 亚洲欧洲偷拍精品| 欧美日韩在线观看视频小说| 国产亚洲精品久久久| 成人免费自拍视频| 国产亚洲精品综合一区91| 精品人伦一区二区三区蜜桃网站| 人人做人人澡人人爽欧美| 亚洲国产91精品在线观看| 亚洲欧美在线免费观看| 亚洲欧美制服丝袜| 91国产精品电影| 免费不卡在线观看av| 夜夜嗨av色综合久久久综合网| 2021久久精品国产99国产精品| 亚洲毛片一区二区| 欧美日韩国产色| 第一福利永久视频精品|