Browse by Tags

簡介.NET 4.0的多工執行利器--Task
前陣子 試寫SignalR 時,學到.NET 4.0在多工執行上提供了新類別-- Task 。初試之下,發現用它取代傳統Thread、ThreadPool寫法,能大幅簡化同步邏輯的寫法,頗為便利。整理幾個範例展示Task的使用方式,分享兼備忘。 先從最簡單的開始。test1()用以另一條Thread執行Thread.Sleep()及Console.WriteLine(),效果與ThreadPool.QueueUserWorkItem()相當。 using System; using System...
Posted 20 July 2012 06:00 AMJeffrey | 18 comment(s) 56,081
Filed under:
指定選擇性DateTime引數的預設值
選擇性引數 (Optional Argument)是我愛用的C# 4.0新特性之一。 以傳入arg1, arg2引數的方法為例,若要讓arg2變成選擇性引數,過去得用多載(Overloading)實現,需要宣告成 void someMethod(string arg1) { someMethod(arg1, "arg2_default_value"); } 及 void someMethod(string arg1, string arg2) { ... } 兩個方法;而在C#...
Posted 03 March 2012 06:39 AMJeffrey | 6 comment(s) 11,353
Filed under:
TIPS-在多執行緒環境更新共用資料物件
有一段小時候寫的程式,運行多年無恙,卻在今天發生爆炸! 看似正常的更新Dictationary邏輯,卻在Dictoinary.Add時冒出"Index was outside the bounds of the array."錯誤: if (Cache.ContainsKey(key)) Cache.Remove(key); Cache.Add(key, someData); Cache的型別為Dictionary<string, string>,程式先檢查該Key值是否存在...
Posted 31 January 2012 10:47 PMJeffrey | with no comments 10,058
Filed under: ,
既然要動態就動個痛快 - ExpandoObject
動態語言是C# 4.0的重要特色之一,dynamic關鍵字的出現,簡化了以往用Reflection大費周章才能做到的物件屬性(Property)及方法(Method)動態存取。 用個簡單的例子示範: using System; using Microsoft.CSharp.RuntimeBinder; using System.Reflection;   namespace DynamicLab { //定義兩個類別,有一個相同的Property(Name) //但各有不同的Field...
Posted 10 June 2011 06:41 AMJeffrey | with no comments 20,236
Filed under:

搜尋

Go

<July 2017>
SunMonTueWedThuFriSat
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication