|
VB.NET
|
Program
Structure
|
C#
|
|
|
Imports
System
Namespace Hello
Class HelloWorld
Overloads Shared Sub Main(ByVal args()
As String)
Dim name As String =
"VB.NET"
If args.Length = 1
Then name = args(0)
Console.WriteLine("Hello, " & name & "!")
End Sub
End Class
End Namespace
|
using
System;
namespace Hello {
public class HelloWorld {
public static void Main
(string[] args) {
string name =
"C#";
if (args.Length == 1)
name = args[0];
Console.WriteLine("Hello,
" + name + "!");
}
}
}
|
|
|
|
Rem
|
|
|
|
|
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 d As Single = 3.5
Dim i As Integer = CType(d, Integer)
i = CInt(d)
i = Int(d)
|
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));
float d = 3.5f;
int i = (int) d;
|
|
|
|
Const MAX_STUDENTS As Integer = 25
ReadOnly MIN_DIAMETER As Single = 4.93
|
const int MAX_STUDENTS = 25;
readonly float MIN_DIAMETER = 4.93f;
|
|
|
|
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 <> Action.Start Then _
Console.WriteLine(a.ToString & " is " &
a)
Console.WriteLine(Status.Pass)
Console.WriteLine(Status.Pass.ToString())
|
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((int) Status.Pass);
Console.WriteLine(Status.Pass);
|
|
|
|
= < > <= >= <>
+ - * /
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
+
|
|
|
|
greeting = IIf(age
< 20, "What's up?", "Hello")
If language = "VB.NET" Then
langType = "verbose"
If x <> 100 And y < 5 Then x *= 5 :
y *= 2
If x <> 100 And y < 5 Then
x *= 5
y *= 2
End If
If whenYouHaveAReally < longLine And
itNeedsToBeBrokenInto2 > Lines Then _
UseTheUnderscore(charToBreakItUp)
If x > 5 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 && y
< 5) {
x *= 5;
y *= 2;
}
if (x > 5)
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
}
|
|
|
|
|
|
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);
|
|
|
|
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;
|
|
|
|
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, "");
}
|
|
|
|
vbCrLf, vbCr, vbLf, vbNewLine
vbNullString
vbTab
vbBack
vbFormFeed
vbVerticalTab
""
Dim school As String = "Harding" & vbTab
school = school & "University"
Dim letter As Char = school.Chars(0)
letter = Convert.ToChar(65)
letter = Chr(65)
Dim word() As Char = school.ToCharArray()
Dim msg As String = "File is c:\temp\x.dat"
Dim mascot As String = "Bisons"
If (mascot = "Bisons") Then
If (mascot.Equals("Bisons")) Then
If (mascot.ToUpper().Equals("BISONS")) Then
If (mascot.CompareTo("Bisons") = 0) Then
Console.WriteLine(mascot.Substring(2,
3))
Dim dt As New DateTime(1973, 10, 12)
Dim s As String = "My birthday: " & dt.ToString("MMM dd,
yyyy")
Console.WriteLine(s)
Dim
buffer As New System.Text.StringBuilder("two ")
buffer.Append("three ")
buffer.Insert(0, "one ")
buffer.Replace("two", "TWO")
Console.WriteLine(buffer)
|
\n, \r
\t
\\
\"
string school = "Harding\t";
school = school + "University";
char letter = school[0];
letter = Convert.ToChar(65);
letter = (char)65;
char[] word = school.ToCharArray();
string msg = @"File is c:\temp\x.dat";
string msg = "File is c:\\temp\\x.dat";
string mascot = "Bisons";
if (mascot == "Bisons")
if (mascot.Equals("Bisons"))
if (mascot.ToUpper().Equals("BISONS"))
if (mascot.CompareTo("Bisons") ==
0)
Console.WriteLine(mascot.Substring(2,
3));
DateTime dt = new DateTime(1973, 10, 12);
string s = "My birthday: " + dt.ToString("MMM dd, yyyy");
System.Text.StringBuilder buffer = new System.Text.StringBuilder("two
");
buffer.Append("three ");
buffer.Insert(0, "one ");
buffer.Replace("two", "TWO");
Console.WriteLine(buffer);
|
|
VB.NET
|
Exception Handling
|
C#
|
|
|
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 {
}
|
|
|
|
Namespace
Harding.Compsci.Graphics
...
End Namespace
Namespace Harding
Namespace Compsci
Namespace Graphics
...
End Namespace
End Namespace
End Namespace
Imports
Harding.Compsci.Graphics
|
namespace
Harding.Compsci.Graphics {
...
}
namespace Harding {
namespace Compsci {
namespace Graphics {
...
}
}
}
using
Harding.Compsci.Graphics;
|
|
VB.NET
|
Classes
/ Interfaces
|
C#
|
|
|
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 {
...
}
|
|
VB.NET
|
Constructors
/ Destructors
|
C#
|
|
|
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() {
}
}
|
|
|
|
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.");
|
|
|
|
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);
|
|
|
|
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++;
|
|
VB.NET
|
Delegates
/ Events
|
C#
|
|
|
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.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)
|
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);
|
|
|
|
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 = 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();
|