自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

講述C#與VB.NET間移植的技巧

開發(fā) 后端
這里介紹C#與VB.NET間移植的技巧,包括介紹C#與VB.NET兩者的區(qū)別,語法上的差異,例如循環(huán)的寫法,C# 具有但 Visual Basic 不具有的特性指針, 移位操作符, 內(nèi)嵌的文檔(XML)重載操作符等。

在向大家詳細介紹C#與VB.NET間移植的技巧之前,首先讓大家了解下C#與VB.NET兩者的區(qū)別,然后全面介紹C#與VB.NET間移植的技巧。

一、C#——像VB一樣簡單,像C++一樣強大的新語

C#是***流的面向組件的語言由 Turbo Pascal, Delphi, and Visual J++的***設計師Anders Hejlsberg 傾心3年設計所有的語言元素都是真正的對象開發(fā)強壯和可重用的軟件所有的.NET Framework中的基類庫(Base Class Library)都由C# 編寫

二、VB.NET——完全面向?qū)ο蟮腂ASIC語言

1.新語言特性
完全面向?qū)ο蟥C繼承(Inheritance), 重載(overloading), 共享的成員, 結(jié)構化異常處理強壯的語言 –嚴格的類型檢查, 變量聲明時初始化,支持垃圾收集(Garbage collection)強大 –支持委托(Delegates), free threading,Variant 數(shù)據(jù)類型被 Object 代替

2.與VB6一致的語法

三、C#與VB.NET兩者的區(qū)別?

1.語法上的差異,例如循環(huán)的寫法

VB.NET

  1. For I = 1 To 10  
  2. ‘ for loop  
  3. Next I 

C#

  1. For (i=1;i<11;i++) {  
  2. // for loop  

另外Visual Basic 對大小寫不敏感,而C#是大小寫敏感的。

2.C# 具有但 Visual Basic 不具有的特性指針, 移位操作符, 內(nèi)嵌的文檔(XML)重載操作符

3.Visual Basic具有但 C# 不具有的特性

更豐富的語法: Events, Try…Catch, Select…Case, 實現(xiàn) Interface后期綁定(Late binding), 動態(tài)數(shù)組, 模塊(modules), 可選參數(shù), 參數(shù)屬性(parameterized properties)后臺編譯

四、C#與VB.NET間移植的技巧

按理說,這兩種語言沒有什么移植的必要,因為他們生成的代碼可以完全通用。但是如果一個工程基本上是VB寫成的,卻需要少許已經(jīng)存在的C#過程,用組件并不是一種效率很高的辦法。就算是學習C#或VB,學會他們之間的移植可以雙倍的利用已經(jīng)存在的代碼(如好玩的Donkey.net就只有VB版)。

有人比較過這兩種語言,得出的結(jié)論是他們很相似。但即便是這樣,VB初學者看到諸如((Button)sender).Text = “啟動”;之類的語法不知道如何移植到VB,而C#初學者看到Handles Button1.Click等語法也會為移植而感到頭痛。下面就看看他們最難移植的部分:

1、Option語句。VB的Option語句可以打開或關閉變量聲明檢查和類型轉(zhuǎn)換檢查。尤其是Option Strict被關閉后,VB變成弱類型語言,很多類型轉(zhuǎn)換都是自動的,移植到C#中會產(chǎn)生無數(shù)錯誤。因此,如果要將帶有Option Strict Off語句的VB程序移植到C#,***先在VB中將Option Strict打開,然后把所有類型轉(zhuǎn)換出錯的地方變成強類型轉(zhuǎn)換,然后再進行移植。

2、類型轉(zhuǎn)換。VB提供了很多類型轉(zhuǎn)換函數(shù)型運算符,如CInt(), CSng(), CStr()等,在C#中只要用(int) , (float), (String)即可。然而如果不是標準類型,如下面的C#語句: ((System.Button)sender).Text = “啟動”; 就要使用VB的函數(shù)型運算符CType來實現(xiàn)。上面的代碼正確的移植方法是:CType(sender, System.Button).Text = “啟動” 千萬不要使用某些人推薦的,將Option Strict關閉,然后用后期綁定調(diào)用sender對象的方法,這根本不符合程序移植不能改變本質(zhì)的要求。

3、修飾符和屬性標簽。VB和C#的修飾符是完全對等存在的,但是拼寫往往不同,給移植帶來了很多麻煩,尤其是表示相同意思的關鍵字從字面理解完全不同的時候。下面就給出了VB和C#對應的關鍵字:

【編輯推薦】

  1. 介紹VB.NET繪圖方法的三個方面
  2. 你是否了解VB.NET集成開發(fā)環(huán)境
  3. 簡單談論VB.NET傳輸表空間
  4. 淺析VB.NET語言與VB語言對比
  5. 五大類VB.NET運算符全面介紹
責任編輯:佚名 來源: IT168
相關推薦

2009-10-21 18:28:48

VB.NET表間拖放

2009-10-21 10:45:50

VB.NET Quic

2009-10-14 17:08:44

VB.NET使用Fil

2009-10-16 13:26:53

VB.NET Exce

2009-10-15 11:11:08

VB.NET Text

2009-10-15 16:39:00

VB.NET讀取INI

2009-10-23 13:22:25

VB.NET實現(xiàn)拖動圖

2009-10-10 16:44:52

VB.NET開發(fā)控件

2009-10-14 11:15:06

VB.NET Grou

2009-10-26 18:11:47

VB.NET調(diào)用Exc

2009-09-07 15:04:07

2009-11-02 16:47:18

VB.NET C#

2009-10-12 16:39:59

OracleTransVB.NET使用

2009-10-13 17:03:55

VB.NET面向?qū)ο?/a>

2009-11-02 15:45:03

VB.NET IEnu

2009-10-19 08:55:22

VB.NET多重繼承

2009-10-16 09:35:24

VB.NET制作透明窗

2009-07-28 17:03:55

ASP.NET VB.

2009-11-02 17:38:56

VB.NET與C#

2009-10-22 09:20:46

VB.NET Proc
點贊
收藏

51CTO技術棧公眾號