C#中單例模式的三種寫法示例
第一種最簡(jiǎn)單,但沒(méi)有考慮線程安全,在多線程時(shí)可能會(huì)出問(wèn)題,不過(guò)俺從沒(méi)看過(guò)出錯(cuò)的現(xiàn)象,表鄙視我……
public class Singleton
{
private static Singleton _instance = null;
private Singleton(){}
public static Singleton CreateInstance()
{
if(_instance == null)
{
_instance = new Singleton();
}
return _instance;
}
}
第二種考慮了線程安全,不過(guò)有點(diǎn)煩,但絕對(duì)是正規(guī)寫法,經(jīng)典的一叉
public class Singleton
{
private volatile static Singleton _instance = null;
private static readonly object lockHelper = new object();
private Singleton(){}
public static Singleton CreateInstance()
{
if(_instance == null)
{
lock(lockHelper)
{
if(_instance == null)
_instance = new Singleton();
}
}
return _instance;
}
}
第三種可能是C#這樣的高級(jí)語(yǔ)言特有的,實(shí)在懶得出奇
public class Singleton
{
private Singleton(){}
public static readonly Singleton instance = new Singleton();
}
哦,shit!
- c#單例模式(Singleton)的6種實(shí)現(xiàn)
- C#設(shè)計(jì)模式之單例模式實(shí)例講解
- C#窗口實(shí)現(xiàn)單例模式的方法
- 淺談C#單例模式的實(shí)現(xiàn)和性能對(duì)比
- C#單例模式(Singleton Pattern)實(shí)例教程
- 舉例講解C#編程中對(duì)設(shè)計(jì)模式中的單例模式的運(yùn)用
- C#單例模式(Singleton Pattern)詳解
- C# 設(shè)計(jì)模式之單例模式歸納總結(jié)
- C# 設(shè)計(jì)模式系列教程-單例模式
- C#實(shí)現(xiàn)單例模式的幾種方法總結(jié)
相關(guān)文章
C#開發(fā)Windows窗體應(yīng)用程序的簡(jiǎn)單操作步驟
這篇文章主要介紹了C#開發(fā)Windows窗體應(yīng)用程序的簡(jiǎn)單操作步驟,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04
一款域名監(jiān)控小工具 Domain(IP)Watcher 實(shí)現(xiàn)代碼
域名是否正常,網(wǎng)站是否可以正常訪問(wèn)是很頭痛的問(wèn)題,怎樣簡(jiǎn)單地監(jiān)控域名是否可以正常訪問(wèn)呢,這里發(fā)布一款域名監(jiān)控小工具:Domain(IP)Watcher2011-11-11
C#利用微軟自帶庫(kù)進(jìn)行中文繁體和簡(jiǎn)體之間轉(zhuǎn)換的方法
這篇文章主要介紹了C#利用微軟自帶庫(kù)進(jìn)行中文繁體和簡(jiǎn)體之間轉(zhuǎn)換的方法,涉及C#使用Microsoft.VisualBasic類庫(kù)操作中文繁簡(jiǎn)字體轉(zhuǎn)換的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
C#實(shí)現(xiàn)創(chuàng)建標(biāo)簽PDF文件的示例代碼
標(biāo)簽PDF文件包含描述文檔結(jié)構(gòu)和各種文檔元素順序的元數(shù)據(jù),是一種包含后端提供的可訪問(wèn)標(biāo)記,管理閱讀順序和文檔內(nèi)容表示的邏輯結(jié)構(gòu)的PDF文件。本文將用C#實(shí)現(xiàn)創(chuàng)建標(biāo)簽PDF文件,需要的可以參考一下2022-08-08
C#微信公眾平臺(tái)開發(fā)之a(chǎn)ccess_token的獲取存儲(chǔ)與更新
這篇文章主要介紹了C#微信公眾平臺(tái)開發(fā)之a(chǎn)ccess_token的獲取存儲(chǔ)與更新的相關(guān)資料,需要的朋友可以參考下2016-03-03
C#實(shí)現(xiàn)寫入文本文件內(nèi)容的方法
這篇文章主要介紹了C#實(shí)現(xiàn)寫入文本文件內(nèi)容的方法,涉及C#針對(duì)文本文件的判斷、創(chuàng)建及寫入等相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
C# Winform實(shí)現(xiàn)導(dǎo)出DataGridView當(dāng)前頁(yè)以及全部數(shù)據(jù)
基本上,所有的業(yè)務(wù)系統(tǒng)都會(huì)要求有導(dǎo)出的功能,所以這篇文章主要為大家介紹了如何利用Winform實(shí)現(xiàn)原生DataGridView的導(dǎo)出功能,需要的可以參考一下2023-07-07

