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, SByte Char Short, UShort, Integer, UInteger, Long, ULong Single, Double Decimal Date
Object String
Dim correct As Boolean = True Dim b As Byte = &H2A Dim o As Byte = &O52 Dim person As Object = Nothing Dim name As String = "Dwight" Dim grade As Char = "B"c Dim today As Date = #12/31/2007 12:15:00 PM# Dim amount As Decimal = 35.99@ Dim gpa As Single = 2.9! Dim pi As Double = 3.14159265 Dim lTotal As Long = 123456L Dim sTotal As Short = 123S Dim usTotal As UShort = 123US Dim uiTotal As UInteger = 123UI Dim ulTotal As ULong = 123UL
Dim x As Integer Console.WriteLine(x.GetType()) Console.WriteLine(GetType(Integer)) 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
bool correct = true; byte b = 0x2A;
object person = null; string name = "Dwight"; char grade = 'B'; DateTime today = DateTime.Parse("12/31/2007 12:15:00"); decimal amount = 35.99m; float gpa = 2.9f; double pi = 3.14159265; long lTotal = 123456L; short sTotal = 123; ushort usTotal = 123; uint uiTotal = 123; ulong ulTotal = 123;
int x; Console.WriteLine(x.GetType()); Console.WriteLine(typeof(int)); Console.WriteLine(x.GetType().Name);
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 Or Xor Not << >>
AndAlso OrElse And Or Xor Not
Note: AndAlso and OrElse perform short-circuit logical evaluations &
| == < > <= >= !=
+ - * / % / Math.Pow(x, y)
= += -= *= /= %= &= |= ^= <<= >>= ++ --
& | ^ ~ << >>
&& || & | ^ !
Note: && and || perform short-circuit logical evaluations +
|
|
greeting = IIf(age < 20, "What's up?", "Hello") If age < 20 Then greeting = "What's up?" If age < 20 Then greeting = "What's up?" Else greeting = "Hello"
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 (age < 20) greeting = "What's up?"; else greeting = "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; case "blue": b++; break; case "green": g++; break; default: other++; break; }
|
|
| 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
Dim i As Integer = 0 While (True) If (i = 5) Then Exit While i += 1 End While
For i = 0 To 4 If i < 4 Then Continue For Console.WriteLine(i) Next
| while (c < 10) c++;
for (c = 2; c <= 10; c += 2) Console.WriteLine(c);
do c++; while (c < 10);
string[] names = {"Fred", "Sue", "Barney"}; foreach (string s in names) Console.WriteLine(s);
int i = 0; while (true) { if (i == 5) break; i++; }
for (i = 0; i < 5; i++) { if (i < 4) continue; Console.WriteLine(i); }
|
|
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
If ("John 3:16" Like "Jo[Hh]? #:*") Then
s = mascot.Substring(2, 3))
s = mascot.Replace("sons", "nomial"))
Dim names As String = "Frank,Becky,Ethan,Braden" Dim parts() As String = names.Split(",".ToCharArray())
Dim dt As New DateTime(1973, 10, 12) Dim s As String = "My birthday: " & dt.ToString("MMM dd, yyyy")
Dim x As Integer = 2 Dim y As String = x.ToString()
Dim x As Integer = Convert.ToInt32("-5")
Dim buffer As New System.Text.StringBuilder("two ") buffer.Append("three ") buffer.Insert(0, "one ") buffer.Replace("two", "TWO") Console.WriteLine(buffer)
| \r \n \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)
s = mascot.Substring(2, 3))
s = mascot.Replace("sons", "nomial"))
string names = "Frank,Becky,Ethan,Braden"; string[] parts = names.Split(",".ToCharArray());
DateTime dt = new DateTime(1973, 10, 12); string s = dt.ToString("MMM dd, yyyy");
int x = 2; string y = x.ToString();
int x = Convert.ToInt32("-5");
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 | Regular Expressions | C# |
|
Imports System.Text.RegularExpressions Dim r As New Regex("j[aeiou]h?. \d:*", RegexOptions.IgnoreCase Or _ RegexOptions.Compiled) If (r.Match("John 3:16").Success) Then Console.WriteLine("Match") End If
Dim s As String = "My number is 305-1881, not 305-1818." Dim r As New Regex("(\d+-\d+)") Dim m As Match = r.Match(s) While m.Success Console.WriteLine("Found number: " & m.Groups(1).Value & " at position " _ & m.Groups(1).Index.ToString) m = m.NextMatch() End While
Dim r As New Regex("(\d\d):(\d\d) (am|pm)") Dim m As Match = r.Match("We left at 03:15 pm.") If m.Success Then Console.WriteLine("Hour: " & m.Groups(1).ToString) Console.WriteLine("Min: " & m.Groups(2).ToString) Console.WriteLine("Ending: " & m.Groups(3).ToString) End If
Dim r As New Regex("h\w+?d", RegexOptions.IgnoreCase) Dim s As String = r.Replace("I heard this was HARD!", "easy")
Dim s As String = Regex.Replace("123 < 456", "(\d+) . (\d+)", "$2 > $1")
Dim names As String = "Frank, Becky, Ethan, Braden" Dim r As New Regex(",\s*") Dim parts() As String = r.Split(names)
| using System.Text.RegularExpressions; Regex r = new Regex(@"j[aeiou]h?. \d:*", RegexOptions.IgnoreCase | RegexOptions.Compiled); if (r.Match("John 3:16").Success) Console.WriteLine("Match");
string s = "My number is 305-1881, not 305-1818."; Regex r = new Regex("(\\d+-\\d+)");
for (Match m = r.Match(s); m.Success; m = m.NextMatch()) Console.WriteLine("Found number: " + m.Groups[1] + " at position " + m.Groups[1].Index);
Regex r = new Regex("@(\d\d):(\d\d) (am|pm)"); Match m = r.Match("We left at 03:15 pm."); if (m.Success) { Console.WriteLine("Hour: " + m.Groups[1]); Console.WriteLine("Min: " + m.Groups[2]); Console.WriteLine("Ending: " + m.Groups[3]); }
Regex r = new Regex("h\\w+?d", RegexOptions.IgnoreCase); string s = r.Replace("I heard this was HARD!", "easy"));
string s = Regex.Replace("123 < 456", @"(\d+) . (\d+)", "$2 > $1");
string names = "Frank, Becky, Ethan, Braden"; Regex r = new Regex(@",\s*"); string[] parts = r.Split(names);
|
VB.NET | Exception Handling | C# |
|
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
On Error GoTo MyErrorHandler ... MyErrorHandler: Console.WriteLine(Err.Description)
| Exception up = new Exception("Something is really wrong."); throw up;
try { y = 0; x = 10 / y; } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { Microsoft.VisualBasic.Interaction.Beep(); }
|
|
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
Dim hero As 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.") Using reader As StreamReader = File.OpenText("test.txt") Dim line As String = reader.ReadLine() While Not line Is Nothing Console.WriteLine(line) line = reader.ReadLine() End While End Using
| 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."); using (StreamReader reader = File.OpenText("test.txt")) { string line; while ((line = reader.ReadLine()) != null) Console.WriteLine(line); }
|
|
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();
|