在C#中有 靜態(tài)類 的概念 自然里邊全部的方法都是靜態(tài)的 這意味著你可以直接通過(guò) 類名 方法名 去調(diào)用(例如System的Math類就是典型) 在VB NET中 沒(méi)有 靜態(tài)類 的概念(當(dāng)然你可以用 單例模式 把構(gòu)造函數(shù)弄成Private的方式 其它方法都是靜態(tài)的)如果某些方法需要被其它地方頻繁使用 可以創(chuàng)建 模塊 在VB NET中一旦創(chuàng)建了模塊 其中任何方法 屬性或者變量都可以被其它地方引用 因此適合全局情況下頻繁交互的情況(比如初始化加載的參數(shù) 可能后續(xù)程序要使用)等
目前成都創(chuàng)新互聯(lián)已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、網(wǎng)站運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、景東網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
現(xiàn)在問(wèn)題在于 如果你把一個(gè)類似以下的模塊代碼封裝成DLL類庫(kù) 無(wú)論在C#或者是VB NET中都無(wú)法引用到其方法
Module A
Public Sub Test()
End Sub
End Module
或許你感到很奇怪——不是在VB NET中這樣定義一個(gè)Module就直接可以使用其內(nèi)部方法了么?為什么封裝成類庫(kù)就不可以了呢?上網(wǎng)問(wèn)了一些人 眾說(shuō)紛紜 后來(lái)我在他人協(xié)助下終于成功解決了這個(gè)問(wèn)題——解決方法很簡(jiǎn)單——只要在Module前加Public
理由是 為了兼容C# VB NET由Module封裝成類庫(kù)中這個(gè)模塊不再是 模塊 而是一個(gè)標(biāo)準(zhǔn)的類了 如果這樣寫 那么在 NET中被理解成(C#)
internal A
{
public void Test()
{
}
}
整個(gè)模塊變成Internal的了!當(dāng)然你到其它程序集中去引用就引用不到!而把類庫(kù)中的Module的修飾符改為Public就可以了 這就是MSDN那位友人給我最好的提示
雖然這個(gè)提示不是令我太滿意(因?yàn)橐繴B NET中可以直接不通過(guò) 類名 方式直接使用方法名) 但是這給了我很大的暗示 得出重要的結(jié)論
)VB NET中Module在制作成類庫(kù)時(shí)候等同于VB NET中的類的規(guī)則(里邊的方法都是靜態(tài)的) 默認(rèn)情況下是Friend(C#是internal)
)根據(jù)結(jié)論 那么我們知道引用該DLL類庫(kù)的方法一定是 i)引用命名空間? ii)C#中直接 類名 方法名 對(duì)于VB NET 直接可以引用到方法名
lishixinzhi/Article/program/net/201311/12502
C#.net優(yōu)點(diǎn):
運(yùn)算符重載。不安全代碼(指針和固定內(nèi)存區(qū))、?無(wú)符號(hào)整數(shù)、移位運(yùn)算。
VB的優(yōu)點(diǎn):?
即時(shí)編譯、靜態(tài)事件綁定、條件異常捕獲、COM兼容類、寬松的類型檢查和變量聲明、Visual Basic Runtime庫(kù)、可選參數(shù)、帶參數(shù)屬性、模塊等語(yǔ)言特征、動(dòng)態(tài)數(shù)組。
通過(guò)VB.NET開(kāi)發(fā)好的程序絕對(duì)沒(méi)有問(wèn)題(包括Direct X游戲開(kāi)發(fā))。雖然VB.NET的資料少,但是只要C#支持的VB.NET都支持(大體上這樣,因?yàn)槎家?jīng)過(guò)MSIL中間環(huán)節(jié)。除了指針之類的VB.NET不支持C#支持,但是沒(méi)有多大實(shí)際用處)。
vb.net的資料以英文資料居多(只有英文資料才有看頭,中國(guó)的沒(méi)有什么好資料),得看看英文水平過(guò)不過(guò)關(guān)。還有VB.NET的ide也比C#的IDE好得多,代碼看得也舒服。(C#的大括號(hào){}太煩人)。
至于VB6對(duì)C的幫助,只是理解上會(huì)容易一些,其它用處不大。有VB6的基礎(chǔ)學(xué)VBNET會(huì)方便一些,但是并不是會(huì)VB6就會(huì)VB.NET,它們差別也不小。
擴(kuò)展資料:
NET、C#和ASP.NET之間的區(qū)別 :
1、NET是一個(gè)平臺(tái),一個(gè)抽象的平臺(tái)的概念。
NET 平臺(tái)其本身實(shí)現(xiàn)的方式其實(shí)還是庫(kù),抽象層面上來(lái)看是一個(gè)平臺(tái)。
基本可以理解的NET核心就是NETFramwork。
NETFramework包括兩個(gè)關(guān)鍵組成元素:
a. CommonLanguageRuntime,公共語(yǔ)言運(yùn)行時(shí)(CLR0)-提供內(nèi)在管理,代碼安全性檢測(cè)等功能。
b. NETFrameworkClassLibrary,.NET 框架類庫(kù)(FLC)-提供大量應(yīng)用類庫(kù),提高開(kāi)發(fā)效率。
學(xué)習(xí)NET Framework 是所有.NET開(kāi)發(fā)人員都必須的,否則開(kāi)發(fā)NET程序永遠(yuǎn)都是停留在‘外功’的招式,NETramework 是NET開(kāi)發(fā)高手的‘內(nèi)功’修行之一。
2、C#是一個(gè)程序設(shè)計(jì)語(yǔ)言,僅僅是一個(gè)語(yǔ)言。
程序設(shè)計(jì)語(yǔ)言僅僅是為了方便開(kāi)發(fā)人員和計(jì)算機(jī)溝通的工具,雖然 C#語(yǔ)法相對(duì) C 和?C+要多一些,但是相對(duì)來(lái)看 C#語(yǔ)法都比較固定,這樣使用起來(lái)卻都很容易。我認(rèn)可一位朋友說(shuō)的,C#的語(yǔ)法更嚴(yán)謹(jǐn)!
這里回過(guò)來(lái)看看NET和C#的關(guān)系,不得不提的是NET程序的執(zhí)行過(guò)程。
C#符合NETCLR 中的公共語(yǔ)言運(yùn)行規(guī)范。CLS:commonlanguagespecification,當(dāng)然所有的NET Language 都是符合這個(gè)規(guī)范的例如:VB.NET、XAML 和 C++/CL等等。
C#需要符合NETCLS,是因?yàn)镹ETCLR和JAVA虛擬機(jī)類似,有一個(gè)中間語(yǔ)言共機(jī)器來(lái)執(zhí)行。所有不同語(yǔ)言的.NET代碼在執(zhí)行前會(huì)被編譯成同樣的中間語(yǔ)言(MSIL),所以所有NET 支持語(yǔ)言都必須符合符合CLS 規(guī)范。
P.S:如果做.NET3.0XAML開(kāi)發(fā)的朋友,可以嘗試下ildasm.exe看看XAML的應(yīng)用程序,會(huì)發(fā)現(xiàn)原來(lái) XAML其實(shí)很簡(jiǎn)單。
3、ASP.NET是一個(gè)網(wǎng)站開(kāi)發(fā)的技術(shù),僅僅是.NET框架中的一個(gè)應(yīng)用模型。
用微軟公司ASP.NET快速入門中的一句話來(lái)解釋,ASP.NET是用于生成基于Web的應(yīng)用程序的內(nèi)容豐富的編程框架。
ASP.net 和C#的區(qū)別:
編寫asp.net通常包括兩部分的代碼:網(wǎng)頁(yè)層和后臺(tái)處理層,網(wǎng)頁(yè)就是用標(biāo)記語(yǔ)言來(lái)寫的,而網(wǎng)頁(yè)對(duì)應(yīng)的后臺(tái)處理程序則需要.net語(yǔ)言來(lái)完成,目前主要是采用c#和vb.net。
可以說(shuō)整個(gè)的asp.net網(wǎng)站通過(guò)c#或者vb.net來(lái)實(shí)現(xiàn)。而c#則是ms .netframework的主要語(yǔ)言,可以用在網(wǎng)站,桌面應(yīng)用等方面。可以算是一種比較流行的編程語(yǔ)言。
system.data.sqlite后面加.org
有完全開(kāi)源的ado.net for sqlite類庫(kù)。使用方法的demo盡在其中。
vb.net與vb相比在功能方法上有所改進(jìn)
vb是基于面向?qū)ο缶幊?,?shí)際上不能算是一門面向?qū)ο缶幊痰恼Z(yǔ)言
而vb.net實(shí)現(xiàn)了真正面向?qū)ο?。面向?qū)ο缶幊痰乃刑卣鞫冀o于支持
另外vb.net支持多線程,而Vb不支持多線程編程,只能夠通過(guò)API來(lái)實(shí)現(xiàn)。
兩者在語(yǔ)法上是一樣的,不過(guò)有些函數(shù)不同
要說(shuō)哪個(gè)好,真是見(jiàn)仁見(jiàn)智。VB簡(jiǎn)單點(diǎn),VB.net強(qiáng)大些。