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 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; |
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 <>
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); |
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 <> 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 }
|
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
Imports 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 = 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();
|