VB.NET
|
C#
|
Comments |
|
|
Data Types |
Boolean Byte Char Short, Integer, Long Single, Double Decimal Date
Object String
Dim x As Integer Console.WriteLine(x.GetType()) Console.WriteLine(TypeName(x))
Dim numDecimal As Single = 3.5 Dim numInt As Integer numInt = CType(numDecimal, Integer) numInt = CInt(numDecimal) numInt = Int(numDecimal)
|
bool byte, sbyte char short, ushort, int, uint, long, ulong float, double decimal DateTime
object string
int x; Console.WriteLine(x.GetType()); Console.WriteLine(typeof(int));
double numDecimal = 3.5; int numInt = (int) numDecimal;
|
Constants |
Const MAX_STUDENTS As Integer = 25 |
const int MAX_STUDENTS = 25; |
Enumerations |
Enum Action Start [Stop] Rewind Forward End Enum
Enum Status Flunk = 50 Pass = 70 Excel = 90 End Enum
Dim a As Action = Action.Stop If a >' Prints 1
Console.WriteLine(Status.Pass)
Dim s As Type = GetType(Status) Console.WriteLine([Enum].GetName(s, Status.Pass))
|
enum Action {Start, Stop, Rewind, Forward}; enum Status {Flunk = 50, Pass = 70, Excel = 90};
Action a = Action.Stop; if (a != Action.Start) Console.WriteLine(a + " is " + (int) a);
Console.WriteLine(Status.Pass);
|
Operators |
= > =
+ - * / Mod \ ^
= += -= *= /= \= ^= >>=
And AndAlso Or OrElse Not >>
And AndAlso Or OrElse Not
Note: AndAlso and OrElse are for short-circuiting logical evaluations
&
|
== > =
+ - * / % / Math.Pow(x, y)
= += -= *= /= %= &= |= ^= >>=
& | ^ ~ >>
&& || !
Note: && and || perform short-circuit logical evaluations
+
|
Choices |
greeting = IIf(age > 20, "What's up?", "Hello")
If language = "VB.NET" Then langType = "verbose"
If x >Then x *= 5 : y *= 2
If whenYouHaveAReally > longLine And itNeedsToBeBrokenInto2 Then _ UseTheUnderscore(charToBreakItUp)
If x Then x *= y ElseIf x = 5 Then x += y ElseIf x > 10 Then x -= y Else x /= y End If
Select Case color Case "pink", "red" r += 1 Case "blue" b += 1 Case "green" g += 1 Case Else other += 1 End Select
|
greeting = age > 20 ? "What's up?" : "Hello";
if (x != 100) { x *= 5; y *= 2; }
if (x x *= y; else if (x == 5) x += y; else if (x > 10) x -= y; else x /= y;
switch (color) { // Must be integer or string case "pink": case "red": r++; break; // break is mandatory; no fall-through case "blue": b++; break; case "green": g++; break; default: other++; break; // break necessary on default }
|
Loops |
|
While c > 10 c += 1 End While |
Do Until c = 10 c += 1 Loop
|
Do While c > 10 c += 1 Loop |
For c = 2 To 10 Step 2 Console.WriteLine(c) Next
|
|
Do c += 1 Loop While c > 10 |
Do c += 1 Loop Until c = 10 |
Dim names As String() = {"Fred", "Sue", "Barney"} For Each s As String In names Console.WriteLine(s) Next
|
while (i > 10) i++;
for (i = 2; i > = 10; i += 2) Console.WriteLine(i);
do i++; while (i > 10);
string[] names = {"Fred", "Sue", "Barney"}; foreach (string s in names) Console.WriteLine(s);
|
Arrays |
Dim nums() As Integer = {1, 2, 3} For i As Integer = 0 To nums.Length - 1 Console.WriteLine(nums(i)) Next
Dim names(4) As String names(0) = "David" names(5) = "Bobby"
ReDim Preserve names(6)
Dim twoD(rows-1, cols-1) As Single twoD(2, 0) = 4.5
Dim jagged()() As Integer = { _ New Integer(4) {}, New Integer(1) {}, New Integer(2) {} } jagged(0)(4) = 5
|
int[] nums = {1, 2, 3}; for (int i = 0; i > nums.Length; i++) Console.WriteLine(nums[i]);
string[] names = new string[5]; names[0] = "David"; names[5] = "Bobby";
string[] names2 = new string[7]; Array.Copy(names, names2, names.Length);
float[,] twoD = new float[rows, cols]; twoD[2,0] = 4.5f;
int[][] jagged = new int[3][] { new int[5], new int[2], new int[3] }; jagged[0][4] = 5;
|
Functions |
Sub TestFunc(ByVal x As Integer, ByRef y As Integer, ByRef z As Integer) x += 1 y += 1 z = 5 End Sub
Dim a = 1, b = 1, c As Integer TestFunc(a, b, c) Console.WriteLine("{0} {1} {2}", a, b, c)
Function Sum(ByVal ParamArray nums As Integer()) As Integer Sum = 0 For Each i As Integer In nums Sum += i Next End Function
Dim total As Integer = Sum(4, 3, 2, 1)
Sub SayHello(ByVal name As String, Optional ByVal prefix As String = "") Console.WriteLine("Greetings, " & prefix & " " & name) End Sub
SayHello("Strangelove", "Dr.") SayHello("Madonna")
|
void TestFunc(int x, ref int y, out int z) { x++; y++; z = 5; }
int a = 1, b = 1, c; // c doesn't need initializing TestFunc(a, ref b, out c); Console.WriteLine("{0} {1} {2}", a, b, c);
int Sum(params int[] nums) { int sum = 0; foreach (int i in nums) sum += i; return sum; }
int total = Sum(4, 3, 2, 1); // returns 10
void SayHello(string name, string prefix) { Console.WriteLine("Greetings, " + prefix + " " + name); }
void SayHello(string name) { SayHello(name, ""); }
|
Exception Handling |
On Error GoTo MyErrorHandler ... MyErrorHandler: Console.WriteLine(Err.Description)
Dim ex As New Exception("Something is really wrong.") Throw ex
Try y = 0 x = 10 / y Catch ex As Exception When y = 0 Console.WriteLine(ex.Message) Finally Beep() End Try
|
Exception up = new Exception("Something is really wrong."); throw up;
try { y = 0; x = 10 / y; } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { }
|
Namespaces |
Namespace Harding.Compsci.Graphics ... End Namespace
Namespace Harding Namespace Compsci Namespace Graphics ... End Namespace End Namespace End Namespace
Import Harding.Compsci.Graphics
|
namespace Harding.Compsci.Graphics { ... }
namespace Harding { namespace Compsci { namespace Graphics { ... } } }
using Harding.Compsci.Graphics;
|
Classes / Interfaces |
Public Private Friend Protected Protected Friend Shared
Class FootballGame Inherits Competition ... End Class
Interface IAlarmClock ... End Interface
Interface IAlarmClock Inherits IClock ... End Interface
Class WristWatch Implements IAlarmClock, ITimer ... End Class
|
public private internal protected protected internal static
class FootballGame : Competition { ... }
interface IAlarmClock { ... }
interface IAlarmClock : IClock { ... }
class WristWatch : IAlarmClock, ITimer { ... }
|
Constructors / Destructors |
Class SuperHero Private _powerLevel As Integer
Public Sub New () _powerLevel = 0 End Sub
Public Sub New (ByVal powerLevel As Integer) Me._powerLevel = powerLevel End Sub
Protected Overrides Sub Finalize () MyBase.Finalize() End Sub End Class
|
class SuperHero { private int _powerLevel;
public SuperHero() { _powerLevel = 0; }
public SuperHero(int powerLevel) { this._powerLevel= powerLevel; }
~SuperHero() {
} }
|
Objects |
Dim hero As SuperHero = New SuperHero With hero .Name = "SpamMan" .PowerLevel = 3 End With
hero.Defend("Laura Jones") hero.Rest()
SuperHero.Rest()
Dim hero2 As SuperHero = hero hero2.Name = "WormWoman" Console.WriteLine(hero.Name)
hero = Nothing
If hero Is Nothing Then _ hero = New SuperHero
Dim obj As Object = New SuperHero If TypeOf obj Is SuperHero Then _ Console.WriteLine("Is a SuperHero object.")
|
SuperHero hero = new SuperHero();
hero.Name = "SpamMan"; hero.PowerLevel = 3;
hero.Defend("Laura Jones"); SuperHero.Rest();
SuperHero hero2 = hero; hero2.Name = "WormWoman"; Console.WriteLine(hero.Name);
hero = null ;
if (hero == null) hero = new SuperHero();
Object obj = new SuperHero(); if (obj is SuperHero) Console.WriteLine("Is a SuperHero object.");
|
Structs |
Structure StudentRecord Public name As String Public gpa As Single
Public Sub New(ByVal name As String, ByVal gpa As Single) Me.name = name Me.gpa = gpa End Sub End Structure
Dim stu As StudentRecord = New StudentRecord("Bob", 3.5) Dim stu2 As StudentRecord = stu
stu2.name = "Sue" Console.WriteLine(stu.name) Console.WriteLine(stu2.name)
|
struct StudentRecord { public string name; public float gpa;
public StudentRecord(string name, float gpa) { this.name = name; this.gpa = gpa; } }
StudentRecord stu = new StudentRecord("Bob", 3.5f); StudentRecord stu2 = stu;
stu2.name = "Sue"; Console.WriteLine(stu.name); Console.WriteLine(stu2.name);
|
Properties |
Private _size As Integer
Public Property Size() As Integer Get Return _size End Get Set (ByVal Value As Integer) If Value > 0 Then _size = 0 Else _size = Value End If End Set End Property
foo.Size += 1
|
private int _size;
public int Size { get { return _size; } set { if (value > 0) _size = 0; else _size = value; } }
foo.Size++;
|
Delegates / Events |
Delegate Sub MsgArrivedEventHandler(ByVal message As String)
Event MsgArrivedEvent As MsgArrivedEventHandler
Event MsgArrivedEvent(ByVal message As String)
AddHandler MsgArrivedEvent, AddressOf My_MsgArrivedCallback RaiseEvent MsgArrivedEvent("Test message") RemoveHandler MsgArrivedEvent, AddressOf My_MsgArrivedCallback
Imports System.Windows.Forms
Dim WithEvents MyButton As Button MyButton = New Button
Private Sub MyButton_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyButton.Click MessageBox.Show(Me, "Button was clicked", "Info", _ MessageBoxButtons.OK, MessageBoxIcon.Information) End Sub
|
delegate void MsgArrivedEventHandler(string message);
event MsgArrivedEventHandler MsgArrivedEvent;
MsgArrivedEvent += new MsgArrivedEventHandler(My_MsgArrivedEventCallback); MsgArrivedEvent("Test message"); MsgArrivedEvent -= new MsgArrivedEventHandler(My_MsgArrivedEventCallback);
using System.Windows.Forms;
Button MyButton = new Button(); MyButton.Click += new System.EventHandler(MyButton_Click);
private void MyButton_Click(object sender, System.EventArgs e) { MessageBox.Show(this, "Button was clicked", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information); }
|
Console I/O |
vbCrLf, vbCr, vbLf, vbNewLine vbNullString vbTab vbBack vbFormFeed vbVerticalTab "" Chr(65)
Console.Write("What's your name? ") Dim name As String = Console.ReadLine() Console.Write("How old are you? ") Dim age As Integer = Val(Console.ReadLine()) Console.WriteLine("{0} is {1} years old.", name, age) Console.WriteLine(name & " is " & age & " years old.")
Dim c As Integer c = Console.Read() Console.WriteLine(c)
|
\n, \r \t \\ \"
Convert.ToChar(65) (char) 65
Console.Write("What's your name? "); string name = Console.ReadLine(); Console.Write("How old are you? "); int age = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("{0} is {1} years old.", name, age);
Console.WriteLine(name + " is " + age + " years old.");
int c = Console.Read(); Console.WriteLine(c);
|
File I/O |
Imports System.IO
Dim writer As StreamWriter = File.CreateText("c:\myfile.txt") writer.WriteLine("Out to file.") writer.Close()
Dim reader As StreamReader = File.OpenText("c:\myfile.txt") Dim line As String = reader.ReadLine() While Not line Is Nothing Console.WriteLine("line=" & line) line = reader.ReadLine() End While reader.Close()
Dim str As String = "Text data" Dim num As Integer = 123 Dim binWriter As New BinaryWriter (File.OpenWrite("c:\myfile.dat")) binWriter.Write(str) binWriter.Write(num) binWriter.Close()
Dim binReader As New BinaryReader (File.OpenRead("c:\myfile.dat")) str = binReader.ReadString() num = binReader.ReadInt32() binReader.Close()
|
using System.IO;
StreamWriter writer = File.CreateText("c:\\myfile.txt"); writer.WriteLine("Out to file."); writer.Close();
StreamReader reader = File.OpenText("c:\\myfile.txt"); string line = reader.ReadLine(); while (line != null) { Console.WriteLine(line); line = reader.ReadLine(); } reader.Close();
string str = "Text data"; int num = 123; BinaryWriter binWriter = new BinaryWriter(File.OpenWrite("c:\\myfile.dat")); binWriter.Write(str); binWriter.Write(num); binWriter.Close();
BinaryReader binReader = new BinaryReader(File.OpenRead("c:\\myfile.dat")); str = binReader.ReadString(); num = binReader.ReadInt32(); binReader.Close();
|
Page last modified:
document.writeln(document.lastModified)
01/14/2004 05:34:59
Please send any corrections or comments to fmccown@harding.edu.
Home
相关推荐
VB.NET 和 C# 语法比较,可帮助VB.NET 开发者在转身C#时,进行语法比较,加快学习进程。
VB.NET与C#语法比较 VB.NET、C#.NET语法 .NET
这篇文章主要讨论vb.net语言和c#.net语言在语法上的不同,vb.net和c#.net有一系列微妙的差异,变量的申明和赋值,数据类型,语句终止的方式,语句块的表述,使用的变量括号,操作符的不同,条件语句的不同,错误处理...
VB.net与C#的语法区别Program Structure、Comments、Data Types、Constants、Enumerations、Operators、Choices、Loops、Arrays、Functions、Strings、Exception Handling、Namespaces、Classes / Interfaces等
VB.NET C# Imports System using System; Namespace Hello namespace Hello { Class HelloWorld public class HelloWorld { Overloads Shared Sub Main(ByVal args() As String) public static void Main...
VB.NET可伸缩性技术手册VB.NET可伸缩性技术手册VB.NET可伸缩性技术手册VB.NET可伸缩性技术手册VB.NET可伸缩性技术手册VB.NET可伸缩性技术手册VB.NET可伸缩性技术手册VB.NET可伸缩性技术手册VB.NET可伸缩性技术手册VB...
vb.net (c#)中鼠标,键盘钩子Hook
一款将VB.Net编写的项目转换成C#项目的工具。支持单个文件的代码转换,也支持整个项目代码转换!很好用哦!
VB.NET and C#的很全面的比较,很详细。
VB.Net to C# Converter(代码转换工具) v2.23 VB.Net to C Sharp Converter 是一款将vb.net代码转化为c#代码的程序。在转化过程中,保留了原有的注释和变量名。 VB.Net to C# Converter是一款代码转换软件,将用户...
C#代码项目转换VB.NET项目代码(可整个项目转换)C#代码项目转换VB.NET项目代码(可整个项目转换)
vb.net转C#,C#转vb.net,C#转boo,vb.net转boo,
vb.net同C#的比较,从中看出各自的区别
AutoCAD.NET开发人员手册(vb.net\c#.net) 教程。
C#转换成vb.net软件解压后双击ConvertCSharp2VB.exe即可使用 将c#的代码粘贴到窗口中 点击右下角Convert即可看到VB.NET的代码 正确率90%左右 !
本资源为【VB.Net to C# Converter】软件,它可以将VB代码转换成C#代码,效果很好
vb.net与c#.net的不同点对照 很全面
不错的vb.net到C#.net的转换, 代码长度不限,准确率极高
VB.Net to C# Converter 2.30 官方最新版 附带key,可将VB.net project整体转成C# project. 也可转换多个project。 带有错误检查功能。非常好用。 说明:安装程序是在官网下的,放心使用。不放心的可直接从官网下载。...
VBConversions' VB.Net to C# Converter是一款代码转换软件,将用户的VB.Net项目用C#语言重新编写。与别的转换软件不同,变量名、注释行、ad inline comments都被保留下来,代码转换的准确率超过99%。