天天看點

關于資料類型轉換的補充知識

is(檢查對象是否與給定類型相容 )

1

關于資料類型轉換的補充知識

 object o = new object();

2

關于資料類型轉換的補充知識

 o = "hello";

3

關于資料類型轉換的補充知識

 System.Console.WriteLine("/"hello/"-string->{0}", o is string);

4

關于資料類型轉換的補充知識

 o = 123;

5

關于資料類型轉換的補充知識

 System.Console.WriteLine("123-string->{0}", o is string);

6

關于資料類型轉換的補充知識

 System.Console.WriteLine("123-String->{0}", o is String);

7

關于資料類型轉換的補充知識

 System.Console.WriteLine("123-int->{0}", o is int);

8

關于資料類型轉換的補充知識

 System.Console.WriteLine("123-Int32->{0}", o is Int32);

9

關于資料類型轉換的補充知識

 System.Console.WriteLine("123-Int16->{0}", o is Int16);

10

關于資料類型轉換的補充知識

 DateTime d = DateTime.Now;

11

關于資料類型轉換的補充知識

 System.Console.WriteLine("Now-DateTime->{0}", d is DateTime);

12

關于資料類型轉換的補充知識

 string dd = "2006-01-01";

13

關于資料類型轉換的補充知識

 System.Console.WriteLine("/"2006-01-01/"-DateTime->{0}", dd is DateTime);

as(用于在相容的引用類型之間執行轉換 )

關于資料類型轉換的補充知識

 //as隻用于引用類型

關于資料類型轉換的補充知識
關于資料類型轉換的補充知識
關于資料類型轉換的補充知識

 System.Console.WriteLine(o as string);

關于資料類型轉換的補充知識
關于資料類型轉換的補充知識
關于資料類型轉換的補充知識

 System.Console.WriteLine(o as String);

關于資料類型轉換的補充知識

 //System.Console.WriteLine(o as int); as對值類型無效

關于資料類型轉換的補充知識

 //System.Console.WriteLine(o as Int32); as對值類型無效

關于資料類型轉換的補充知識

 //System.Console.WriteLine(o as Int16); as對值類型無效

關于資料類型轉換的補充知識

 //DateTime d = DateTime.Now; as對值類型無效

關于資料類型轉換的補充知識

 //System.Console.WriteLine(d as DateTime); as對值類型無效

關于資料類型轉換的補充知識

 //string dd = "2006-01-01"; as對值類型無效

14

關于資料類型轉換的補充知識

 //System.Console.WriteLine(dd as DateTime); as對值類型無效

checked/unchecked(對整型算術運算和顯式轉換啟用溢出檢查 ,否則算術運算回繞)

還記得我們前面對byte的一個轉換吧,再看看下面,你就有更深的了解

關于資料類型轉換的補充知識

 byte b = 100;

關于資料類型轉換的補充知識

 System.Console.WriteLine((byte)(b + 200));//不抛出異常

關于資料類型轉換的補充知識

 System.Console.WriteLine(checked((byte)(b + 200)));//抛出異常

關于資料類型轉換的補充知識

 System.Console.WriteLine(unchecked((byte)(b + 200)));//不抛出異常

本文轉自shyleoking 51CTO部落格,原文連結:http://blog.51cto.com/shyleoking/806910

繼續閱讀