淺談.NET的垃圾回收機制

這篇的由來其實很奇妙,前幾天在FB有人在討論某個資深工程師不懂method前面加上static的差異,下面一大串的炮火覺得也太不專業了。

直到前幾天群組有個朋友提出

『其實我真的不太敢確切的說static到底是怎麼運作的,他牽涉到記憶體行為,在執行階段有沒有static差在哪裡,記憶體是共用還是指向同一個部』

於是又拉了一長串的討論出來,討論出結果後催生了這篇文章

...繼續閱讀 »

ADO.NET資料連接層效能比較

這篇文章的產生其實滿奇妙的,由於目前在前端維護MVC後台,理應碰不到ADO.NET層,偏偏資料連接層的速度又奇曼無比,甚至還會發出錯誤訊息。

在資料取得慢的情況下,所有後台的UI都極為緩慢,多數時候充當第一線砲灰。

在最近終於加入了幾位夥伴,於是協助後端同仁優化這段程式碼的念頭就產生了。

 

這篇文章會比較DataTable.Load、DataAdapter.Fill、DataReader三者的差異,一起來看看吧。

...繼續閱讀 »

我的程式開發原則

進入程式的行業也一年多了,雖然能力不到頂尖,對於CSS還有HTML的排版還是很不熟悉。

但在開發過程中看到許多不正確的開發觀念,進而產生許多程式碼的歷史包袱,尤其是這些包袱多數來自於「資深工程師」的觀念偏差時,實在令人感到遺憾...

 

在某次維護的過程,真的追Code追到跑去廁所吐,於是催生了這篇文章。

這篇文章會針對經常碰到的開發觀念撰寫,不會很艱深,我也沒有那個能力寫得很艱深 > O <

算是拋磚引玉,希望大家可以多參與討論,讓糟糕的程式碼不再禍害工程師。

 

我想...寫出優良的程式碼,是每個工程師應盡的義務。

 

...繼續閱讀 »

Delegate、Action、Func的使用時機以及差異(委派型別階段總結)

  • 18705
  • 0
  • C♯
  • 2017-06-29

前面二篇(ActionFunc)我們大致上了解了怎麼在開後門,讓外部實做內部的程式碼,但是如果有多個參數的情形呢?

其實這會套用到泛型的概念,而這篇是早在第一篇就該說明了,之所以延到這篇再來講,是希望降低認識委派的門檻,畢竟泛型跟委派是二種不同的概念。

那我們現在來定義一下

Delegate是基底型別,而Func與Action則是.Net預先定義好Delegate型別,二者差異在於有無返回值罷了,應該對於Delegate有了初步的理解吧。

...繼續閱讀 »

Delegate、Action、Func的使用時機以及差異(Func篇)

  • 19595
  • 0
  • C♯
  • 2017-06-18

在上一篇文章中可以清楚的知道Action的用法,這篇再來看看Func怎麼寫囉。

那Func是什麼呢?

就是Action,但是 是會返回一個值的Action

 

如果分不清楚下列程式碼void跟string的差異,建議上一頁,這系列文章完全不適合現階段的你進行閱讀

        private void HelloVoid()
        {
        }

        private string HelloString()
        {
            return "HelloString";
        }

 

...繼續閱讀 »

Delegate、Action、Func的使用時機以及差異(Action篇)

  • 18930
  • 0
  • C♯
  • 2017-06-20

前陣子上了OOP的課程後,仍對委派一直不是很熟悉,但知道了Action以及Func的用途後後,也慢慢地感受到了委派使用的方式以及時機。我會先讓大家寫Action、Func,接著再來認識底層的Delegate是如何實作,相信能比較好上手。

什麼是Action?什麼是Fuck(Func)?

對於英文不好的我在初期看到Func真的只想說Fuck,這到底是什麼鬼呢?

...繼續閱讀 »

讀取Excel的好工具 LinqToExcel

數個月前使用者在詢問能不能匯出excel,於是上網找了資料後,便刻了匯出excel功能給他們,沒想到這只是噩夢的開始,幾周前又開始問我能不能用匯入的...

於是就找到了這個套件,讓我們一起來看看怎麼使用它吧

 

...繼續閱讀 »

列舉型別的資料對應

在寫程式時,多多少少都會寫一些列舉,可以讓程式更加的安全,但有些時候,列舉在變數命名時必須為英文,送到前端時則必須顯示成中文,要怎麼讓中英文產生關連呢?

可以參考以下的作法

...繼續閱讀 »

在主控台應用程式中,透過外部給執行參數的

這幾天在開發時有個需求是,某支主控台應用程式原本在整點執行,而後又增加一個需求,邏輯跟原本的程式相近,但二者的執行時間互斥。剛好前陣子又對args這個參數的用途是什麼很好奇,靈機一動跑去找「透過外部帶參數給主控台應用程式」的寫法,沒想到還真的被我找到了,趁記憶猶新的時候趕快記錄下來!!

...繼續閱讀 »