2013年12月26日 星期四

Nuget 無法載入

Nuget 是一個 Open Source 的軟體套件管理器,
因為 Microsoft 開發有太多可以用的套件,
會使得開發者下載使用後維護上的困擾,
透過 Nuget 可以更快速搜尋開發者需要的套件,
並且下載包裝成極其方便維護的 packages 資料夾。
以下小弟就介紹一下 Nuget 安裝、使用、移除,
以及同事遇到 Nuget 無法載入問題解決方法。
小弟是用 Visual Studio 2012才知道有這個東西(近年才有的東西吧...)。

2013年12月25日 星期三

[C#]Convert、Parse、TryParse 差異

上次介紹過Convert(轉型)與Int32(強制轉型)的差別、效能
※基本上強制轉型可以分成:
類型 Example
安全性轉型 is、as (參考MSDN)
強制性轉型 (資料型別)Object
效能上 as -> is -> 強制行轉型,
(有興趣的看倌可以參考DotBlogs)。
以上都不是小弟想說這篇的重點.....ToT
※至於轉型可以分成(Int32為範例):
類型 Example
Convert Convert.ToInt32("")
Parse Int32.Parse("")
TryParse Int32.TryParse("")
上述三種方式都可以進行轉型,
以下是小弟經過Google大神所整理的資料。

2013年12月23日 星期一

[C#]最大公因數與最小公倍數

國小最常考的數學題目,
方法有很多種:表列法、指數法...etc,
網路上有非常好的舉例,
Wiki也寫得相當的清楚
程式部分小弟寫了最簡單的「輾轉相除法」。
(參考:Wiki)

[C#]Convert(轉型)與Int32(強制轉型)的差別、效能

寫程式時常遇到文字轉換成數字,
或是某個資料型別轉成資料型別,
轉型別基本上分為兩種,

//其一為轉型
Console.WriteLine(Convert.ToInt32("5.5"));
//其二為強制轉型
Console.WriteLine((int)(5.5));
但是以上兩種答案卻是不一樣的!!!
所以千萬不可亂用,
小弟就稍微分析一下該兩者不同點,
以及性能上該如何使用較好。
小弟最近就是被這種小小細節...,常常誤會自己的邏輯有問題。

2013年12月20日 星期五

SyntaxHighlighter設定與調整

Read Code in Blog With Syntax-Highlighter
當初只是為了希望Blog的程式可以看得美美的,
但是現在反而成為部落格讀取的負擔,
而且當初還不是很會用...,
後來詳讀了一些官方文件與Google大神,
發現了一些小細節,
事實上官網也說得很明白了,
還附加範例...小弟在此做個比較常用的紀錄。

2013年12月19日 星期四

Auto share blog to Facebook/Twitter

小弟是個很懶的人,
以至於寫完blog以後疲勞指數達到Max,
就懶得在上FaceBook分享文章,
外加上公司整天鎖這鎖那,
每次都需要連外網...,
在此時我突然想到應該有自動分享器才對,
有請Google大神一下就神到了,
目前分享器有一下四種:

LinksAlpha NetWorkedBlogs dlvr.it NextScripts

[C#]輸出數字範圍內所有的質數

數字是否為質數?
這個問題想必大家都有一定的了解,
記得小時候數學常常考100的質數有哪些?
最簡單的方式就是試除法,
根據Eratosthenes演算法
原理就是將數字N當中,
小於等於根號N(√N)的所有質數去試著整除數字N,
若均無法整除,則N為質數,
知道觀念後請看以下範例吧。

2013年12月4日 星期三

[C#]遞迴---費氏數列

身為一個專業的數學家學者,
一定都有聽過或者使用過偉大的「費氏數列」,
正因為有此數列才衍生出樹狀結構(真是高手),
費氏數列原理:
F0 = 1
F1 = 1
Fn = Fn-1 + Fn-2
知道觀念後請看以下範例吧。

[C#]遞迴---基本[1+2+3+...+n & 1-2+3-...-(n+1)]

上次介紹過[C#]遞迴---階乘
小弟就寫一些常常在業界上考試的小範例,
譬如:1+2+3+...+n 與 1-2+3-4+...-(n+1),
請看以下範例。

[C#]遞迴---階層

還記得階層是國中教過的東西,以前覺得好難,
因為大學學機率與統計要計算一大堆,
根據Wiki, 我們可以知道 n! = n × (n - 1) × (n - 2) × ... × (n - n + 1),
在此發現寫程式時最重要的還是邏輯與觀念,
知道觀念後請看以下範例(For Loop & Recursive)。