小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

C# vs VB7之語法與編程

 busfly 2007-02-10
C#與VB7是微軟.NET的主要編程工具。本文通過實(shí)例比較C#語言與VB7語言及其程序設(shè)計(jì),每個(gè)程序都先用VB7語言寫出,再用C#語言改寫,從中看出現(xiàn)在的VB7實(shí)際就是C#,而將(不同語言的)編程統(tǒng)一到.NET類函數(shù)庫就是微軟.NET的精髓。
一、變量聲明
C#與VB7的變量基本上是一致的。與VB6不同,VB7在聲明變量的同時(shí)可賦初值,不再用Dim x這種沒有確定類型的聲明,VB7的整型(Integer)變量是4字節(jié)(32位整數(shù),-2147483648--2147483647),長(zhǎng)整型(Long)是8字節(jié)(64位整數(shù),-9,223,372,036,854,775,808--9,223,372,036,854,775,807)。
C#
VB7

int x;

long y

String s;

String s1, s2;

Object o;

Object obj = new Object();

public String name;
Dim x As Integer

Dim y As Long

Dim s As String

Dim s1, s2 As String

  

Dim obj As New Object()

Public name As String


下面的VB7與C#程序編譯后運(yùn)行結(jié)果相同:
x=99999999
s= VB7程序設(shè)計(jì)100例
s1= VB7 Programming , s2 ="VB7程序設(shè)計(jì)

VB7的例程(01_vb.vb):
Imports System
Public Module LY
Public name As String  
Sub Main()
Dim x As Integer = 99999999
Dim s As String = "VB7程序設(shè)計(jì)100例"
Dim s1, s2 As String  
注釋:一切變量聲明都要有As,不許可如:Dim o 的聲明;聲明變量的同時(shí)可賦初值
Dim obj As New Object()  
s1 = "VB7 Programming" : s2 ="VB7程序設(shè)計(jì)"  
Console.WriteLine("x=",x) 注釋:顯示變量x
Console.WriteLine("s=",s) 注釋:顯示變量s
Console.WriteLine("s1=, s2=",s1,s2) 注釋:顯示變量s1,s2
End Sub
End Module
  
C#的例程(01_c#.cs)與VB7例程幾乎完全相同:
using System;
class LY{
public String name;  
static void Main() {
int x=99999999;
String s= "VB7程序設(shè)計(jì)100例";  
String s1, s2;  
Object o;  
Object obj = new Object();  
s1 = "VB7 Programming"; s2 ="VB7程序設(shè)計(jì)";  
Console.WriteLine("x=",x); //顯示變量x
Console.WriteLine("s=",s); //顯示變量s
Console.WriteLine("s1=, s2=",s1,s2); //顯示變量s1,s2
}
}
二、NET類函數(shù)庫的調(diào)用
C#與VB7都調(diào)用同一個(gè).NET的類函數(shù)庫,因此,C#與VB7程序調(diào)用.NET類函數(shù)庫的指令完全一樣。
下面的例子定義了方法input()實(shí)現(xiàn)從鍵盤輸入一個(gè)長(zhǎng)整數(shù)m,方法CalcSqrt(mm As Long)計(jì)算并顯示m的平方根;用到了.NET類函數(shù)庫中System的控制臺(tái)類Console的輸入輸出方法和數(shù)學(xué)計(jì)算類Math的(求平方根)方法Sqrt;此外,用了類Int64的方法FromString(cc)將數(shù)字字符串cc轉(zhuǎn)為長(zhǎng)整數(shù)。
程序運(yùn)行結(jié)果(假定輸入為999,注意,數(shù)學(xué)函數(shù)返回值一般是雙精度的)
請(qǐng)鍵入一個(gè)正整數(shù):
計(jì)算結(jié)果: Sqrt(999)=31.606,961,258,558,215
容易看出,這個(gè)C#與VB7程序幾乎是完全一樣的,寫出了VB7程序,很容易就可改為C#程序;將(不同語言的)編程統(tǒng)一到.NET類函數(shù)庫,這是微軟.NET的精髓。
  
VB7的例程(02_vb.vb):
Imports System
Public Module LY
Dim m As Long 注釋:不區(qū)分大小寫,Long可寫為long, LONG或LoNg
Dim q As Double  
注釋:從鍵盤輸入一個(gè)長(zhǎng)整數(shù)m
Public Sub input()
Console.Write("請(qǐng)鍵入一個(gè)正整數(shù):")
Dim cc As string=Console.ReadLine() 注釋:得到鍵盤輸入的數(shù)字字符串
m=Int64.FromString(cc) 注釋:將這個(gè)字符串轉(zhuǎn)換為64位整數(shù)m
End Sub
注釋:計(jì)算并顯示mm的平方根
Public Sub CalcSqrt(mm As Long)
q=Math.Sqrt(mm) 注釋:數(shù)學(xué)函數(shù)Sqrt在System的類Math中,返回Double,不可用Single
Console.Write("計(jì)算結(jié)果:Sqrt()=",m,q) 注釋:顯示結(jié)果
End Sub
Sub Main()
input
CalcSqrt(m)
End Sub
End Module
  
C#的例程(02_c#.cs)與VB7例程幾乎完全相同:
using System;
class LY{
static long m; //注意大小寫:不可把long寫為L(zhǎng)ong
static double q;
//從鍵盤輸入一個(gè)長(zhǎng)整數(shù)m
public static void input(){
Console.Write("請(qǐng)鍵入一個(gè)正整數(shù):");
string cc =Console.ReadLine(); //得到鍵盤輸入的數(shù)字字符串
m=Int64.FromString(cc); //將這個(gè)字符串轉(zhuǎn)換為64位整數(shù)m
}
//計(jì)算并顯示mm的平方根q
public static void CalcSqrt(long mm){
q=Math.Sqrt(mm); //數(shù)學(xué)函數(shù)Sqrt在System的類Math中,返回Double,不可用Single
Console.Write("計(jì)算結(jié)果:Sqrt()=",m,q); //顯示結(jié)果
}
static void Main(){
input();
CalcSqrt(m);
}
}
三、面向?qū)ο缶幊?
上面的例子里,定義了方法input()實(shí)現(xiàn)從鍵盤輸入一個(gè)長(zhǎng)整數(shù)m,方法CalcSqrt(mm As Long) 計(jì)算并顯示m的平方根,然后在Main()方法里調(diào)用;下面將方法input()與方法CalcSqrt(mm As Long)獨(dú)立出來放到一個(gè)專門的類(LY0)里,然后在類LY的Main()方法中生成實(shí)例對(duì)象使用:
程序運(yùn)行結(jié)果仍然是與(二)完全相同。
在面向?qū)ο蟮那闆r下,這個(gè)C#與VB7程序也幾乎是完全一樣的,從這個(gè)意義上可以說:VB7就是C#,C#也就是VB7。  
  
VB7的例程(03_vb.vb):
Imports System
Class LY0
注釋:變量m與q現(xiàn)在封裝到類LY0里被保護(hù),因?yàn)榱硪粋€(gè)類LY要引用m,對(duì)m加public
Public Dim m As Long  
Dim q As Double  
注釋:從鍵盤輸入一個(gè)長(zhǎng)整數(shù)m
Public Sub input()
Console.Write("請(qǐng)鍵入一個(gè)正整數(shù):")
Dim cc As string=Console.ReadLine() 注釋:得到鍵盤輸入的數(shù)字字符串
m=Int64.FromString(cc) 注釋:將這個(gè)字符串轉(zhuǎn)換為64位整數(shù)m
End Sub
注釋:計(jì)算并顯示mm的平方根
Public Sub CalcSqrt(mm As Long)
q=Math.Sqrt(mm) 注釋:數(shù)學(xué)函數(shù)Sqrt在System的類Math中,返回Double,不可用Single
Console.Write("計(jì)算結(jié)果:Sqrt()=",m,q) 注釋:顯示結(jié)果
End Sub
End Class
Public Module LY
Sub Main()
Dim obj As LY0 = new LY0()
obj.input
obj.CalcSqrt(obj.m)
End Sub
End Module
  
C#的例程(02_c#.cs)與VB7例程幾乎完全相同:
using System;
class LY0{
//變量m與q現(xiàn)在封裝到類LY0里被保護(hù),因?yàn)榱硪粋€(gè)類LY要引用m,對(duì)m加public
public long m;  
double q;
//從鍵盤輸入一個(gè)長(zhǎng)整數(shù)m
public void input(){
Console.Write("請(qǐng)鍵入一個(gè)正整數(shù):");
string cc =Console.ReadLine(); //得到鍵盤輸入的數(shù)字字符串
m=Int64.FromString(cc); //將這個(gè)字符串轉(zhuǎn)換為64位整數(shù)m
}
//計(jì)算并顯示mm的平方根q
public void CalcSqrt(long mm){
q=Math.Sqrt(mm); //數(shù)學(xué)函數(shù)Sqrt在System的類Math中,返回Double,不可用Single
Console.Write("計(jì)算結(jié)果:Sqrt()=",m,q); //顯示結(jié)果
}
}
class LY{
static void Main(){
LY0 obj = new LY0();
obj.input();
obj.CalcSqrt(obj.m);
}
}

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多