程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#和VB.NET中類型相關資料整理(2)

C#和VB.NET中類型相關資料整理(2)

編輯:關於C語言

2.typeof

在C#和VB.Net中都有typeof關鍵字,但它們的用法卻不一樣。

C#中typeof相當於VB.Net中的GetType,用於獲取指定類型的 Type 對象。

用法

System.Type t = typeof(int);
Console.WriteLine(t.FullName); //輸出:System.Int32

VB.Net中的TypeOf則總是與Is關鍵字一起用於構造TypeOf…Is表達式。MSDN中對該關鍵字的解釋是:比較對象引用變量與數據類型。 需要注意的是該表達式只能針對引用類型,如果把下面的示例中的i聲明為Integer則會出錯。

VB.Net用法:

Dim i As Object = 2
Console.WriteLine(TypeOf i Is Integer) '輸出:True
Console.WriteLine(Typeof i Is Double) '輸出:False

3.is

在C#和VB.Net中也都存在is關鍵字,當然它們的用法也不一樣。

C#中is 的作用是:檢查對象是否與給定類型兼容。它執行的是類型比較。MSDN中的備注:如果所提供的表達式非空,並且所提供的對象可 以強制轉換為所提供的類型而不會導致引發異常,則 is 表達式的計算結果將是 true。請注意,is 運算符只考慮引用轉換、裝箱轉換和取消 裝箱轉換。不考慮其他轉換,如用戶定義的轉換。

可以認為C#中的is 相當於VB.Net中的TypeOf…Is。

用法:

int i = 2;
Console.WriteLine(i is int); //輸出:True
Console.WriteLine(i is double); //輸出:False

VB.Net中Is 的作用是:比較兩個對象引用變量。MSDN中的備注:Is 運算符確定兩個對象引用是否引用同一個對象。但是,它不執行值比較 。如果 object1 和 object2 引用同一個對象實例,則 result 為 True;如果它們不引用同一個對象,則 result 為 False。該運算符和 TypeOf…Is一樣,也只適用於引用類型。

用法:

Dim i As String = "Hello"
Dim j AS String = "Hello"
Dim k as String = "Hello world"
Console.WriteLine(i Is j) '輸出:True
Console.WriteLine(i Is k) '輸出:False
k = j
Console.WriteLine(i Is k) '輸出:True

4.as

同樣C#和VB.Net裡面都存在as,用法也不一樣。

C#中as 的作用是:as 運算符用於在兼容的引用類型之間執行轉換。as 運算符類似於強制轉換操作。但是,如果無法進行轉換,則 as 返 回 null 而非引發異常。

expression as type 等效於 expression is type ? (type)expression : (type)null

用法:

string s = someObject as string;
If(s != null)
        Console.WriteLine("someObject is a string");

VB.Net中As 的作用是:引入 As 子句,該子句標識聲明語句中的數據類型或泛型類型參數中的約束列表。

在VB.Net中這個關鍵字太常見了,就不需要過多解釋。

用法:

Private i As Integer = 3 '聲明字段
Dim j As String = "hello" '聲明變量
Sub Test(ByVal k As Boolean) '聲明參數
Public Class MyClass(Of T As {IComparable, IDisposable, Class, New}) '泛型類型約束

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved