2010年9月9日 星期四

.NET 4 - BigInteger

BigInteger就是很大很大的整數.....

  • 使用前專案要加入參考

  • 加入命名空間
using System.Numerics;

  • 範例
//設為1
BigInteger i = BigInteger.One;
Console.WriteLine( i.ToString());



//值是否為1, True
Console.WriteLine( i.IsOne);

//是否為偶數 False
Console.WriteLine( i.IsEven);



//一旦設定值,BigInteger是不可變的,
//以下變動值的動作將產生新的BigInteger物件
i++;



string s = "1111111111111111111111111111111111111111111111111111111111";
//string轉換成BigInteger
i = BigInteger.Parse( s );

//N0格式化字串,精確度只能50個,超過50用0取代,印出:
//N0:1,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,100,000,000
Console.WriteLine( "N0:{0:N0}" , i );


//C格式化字串,有小數點,精確度只能50個,超過50用0取代,印出:
//C:NT$1,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,100,000,000.00
Console.WriteLine( "C:{0:C}" , i );

//R格式化字串,精確度完全保留,印出:
//R:1111111111111111111111111111111111111111111111111111111111
Console.WriteLine( "R:{0:R}" , i );

2010年9月6日 星期一

.NET 除錯用的 Attribute

  • DebuggerDisplay Attribute:用來控制一個型別(Type)或型別的成員(Member)在除錯階段中要顯示的資訊。
  • DebuggerBrowsable Attribute則用來控管一個Field成員或屬性是否要在除錯視窗中顯示資訊。

2010年9月3日 星期五

Code Contract

Code Contract是.NET Framework 4的新功能,讓程式設計師能夠很容易地定義類別的規則。例如可以為類別的屬性或成員變數定義一些設定規則,以便在編譯階段或執行階段進行檢查。
在Visual Studio 2010要使用時,需要先到這邊下載並安裝 ,安裝完後
1.在VS 專案加入System.Contracts組件參考

2.然後在專案屬性頁啟用,以下啟用Runtime檢查功能:

 
3. 程式執行時,會進行檢查:


如果有啟用Static Checking,則編譯時,檢查出的錯誤會出現在Error List:

2010年9月1日 星期三

.NET 4 CAS Security

.NET Framework 4 Security做了很大修改
  •  CAS部分,Security Policy沒用了..
  • 因為,Security Policy沒用了,工具也沒用了,你不能使用Mscorcfg.msc (.NET Framework Configuration Tool)設CAS Security Policy
  • 不支援Security Action,如Deny,RequestMinimun, RequestOptional,RequestRefuse
  • 如果在.NET Framework 4要回頭使用前版的CAS Security Policy機制,要修改組態將NetFx40_LegacySecurityPolicy 啟用,參考MSDN
  • ...待續

總瀏覽量