目前分類:.Net 技術 (135)
- Nov 20 Mon 2006 07:53
WPF簡介
- Sep 20 Wed 2006 09:00
無名備份王閱讀器
- Sep 09 Sat 2006 08:29
MSN 表情符號備份程式初版已發佈
程式下載
- Sep 08 Fri 2006 06:51
MSN 表情符號備份程式初版
大概再一段時間就可以寫好了吧....stO
- Aug 31 Thu 2006 01:13
C# 2.0的新特色.泛型與匿名函數
在C# 2.0中,加入泛型的功能。以往在1.X版中,使用堆疊、佇列等資料結構,只能用object型態,並沒辦法把型態固定下來,使得資料中摻雜一種以上的資料型態。一不注意,程式就容易發生Runtime的錯誤。幸好在2.0中,這些的問題獲得改善。
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
delegate void Function(int x);
class Program
{
static void myFunction(Function f)
{
f(6);
}
static void Main(string[] args)
{
Console.WriteLine("以下是泛型的執行結果");
Stack<int> myStack = new Stack<int>();
for (int i = 0; i < 10; i++)
{
myStack.Push(i);
}
foreach (int i in myStack)
Console.WriteLine(i);
Console.WriteLine("以下是匿名函數的用法");
myFunction(delegate(int x){Console.WriteLine("印出:" + x);});
myFunction(delegate(int x) { Console.WriteLine("印出:" + (x + 2)); });
Function a = new Function(delegate(int x) { Console.WriteLine("第一個"); });
a += delegate(int x) { Console.WriteLine("第二個"); };
a += delegate(int x) { Console.WriteLine("第三個,並印出X:"+x.ToString()); };
a(3);
}
}
}
從上面的程式碼,我們看到:
Stack<int> myStack = new Stack<int>();
在1.X版中,是沒辦法用<>指定型態,在2.0中,我們可以在一些的常見資料結構中指定型態,減少Runtime上的錯誤。上例中,如果加入像"myStack.Push(6.11)"這一行的程式碼,編譯器就會產生編譯錯誤,這樣的好處就在程式的bug在程式人員這邊就可以發現,而不是到了測試人員甚至是使者用那邊才被發現。
另外在2.0版中,還加入了匿名函數的功能,也就是能將程式碼當作參數。
delegate void Function(int x);
class Program
{
static void myFunction(Function f)
{
f(6);
}
}........(略)
假設在一個函式中,想將部份的功能交給別人去作,可以使用delegate型態。上面的Function函數將回傳設為void,參數為一個int的x。這樣的作法,在於只需將規格訂好,剩下內部的實作,就交給其它應該負責的人去作就好了。而在myFunction中,使用到一次f參數,f內部怎麼作,不需要知道,只要在使用時,記得將程式碼加進去就好了。
myFunction(delegate(int x){Console.WriteLine("印出:" + x);});
myFunction(delegate(int x) { Console.WriteLine("印出:" + (x + 2)); });
上面的程式碼,第一個會將變數x印出,第二個則是將x加2之後再印出。除此之外,匿名函數還有另一種用法:
Function a = new Function(delegate(int x) { Console.WriteLine("第一個"); });
a += delegate(int x) { Console.WriteLine("第二個"); };
a += delegate(int x) { Console.WriteLine("第三個,並印出X:"+x.ToString()); };
a(3);
a變數在宣告時,已經加入了一行程式碼,或者說是一個函數,之後再加入兩個函數。執行a的時候,是加入幾個函數就執行幾個函數,並不會有衝突。
C# 2.0另外兩個新功能,在下期的文章會提到,另外也會補充泛型與匿名函數的內容。
- Aug 16 Wed 2006 09:31
[新聞]入門版 XNA 開發套件釋出 提供玩家開發 Xbox 360 遊戲
微軟想的這點子還不錯,只是不知道開發的難易度如何,如果可以像日本的RPG Maker那樣容易上手,說不定真的會掀起一股創作風潮。但是XNA這一套開發工具需要一些程式背景,在北美的影響會如何,就繼續觀察下去吧。
- Aug 16 Wed 2006 03:29
好書一本
想學ASP.NET的人有福了,.NET高手聖殿祭司又出書了!想買的人請到以下網址:
http://tlsj.tenlong.com.tw/WebModule/BookSearch/bookSearchViewAction.do?isbn=9789861810249&sid=31744
作者網址:
http://blog.sina.com.tw/4907/
- Jan 13 Fri 2006 05:20
類似Windows 工作管理員的小程式
下載位址
- Jan 12 Thu 2006 05:45
[轉載]與知名出版社編輯的對話
文章連結
其實我一直在想,為什麼台灣的電腦圖書會搞成這個樣子,我想大概是民族性問題吧。每個人都只想求快,不肯腳踏實地。學習任何一件事不可能會有速成的方法,如果有速成,早就有人拿來發大財了。
- Dec 25 Sun 2005 08:27
SharpMP3 0.3.6.0版
- Dec 24 Sat 2005 09:44
SharpMP3 改版預告
1.增加播放清單功能,功能與winamp類似
2.加強播放音樂的功能
3.批次修改的項目增加
下一次改版目標:
1.可以修改ID3v2的資料(目前只能修改IDv1)
2.可將圖片加進MP3檔案裡
- Dec 19 Mon 2005 21:04
SharpMP3 0.3.5.0版
- Dec 15 Thu 2005 20:44
SharpMP3
SharpMp3是用微軟的C#語言開發,所以才取這樣的名稱。在進入主程式之後,選擇MP3的資料夾,之後程式會列出所有的MP3檔案,你可以一首一首的編輯資料,也可以利用批次功能來修改MP3的專輯以及演出者資料。
下載位址
- Nov 13 Sun 2005 05:13
讀取EXIF資訊的DotNet元件
- Sep 19 Mon 2005 09:41
.Net 3.0版本出現?!