| 
| 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"
 
 'See if an argument was passed from the command line
 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#";
 
 // See if an argument was passed from the command line
 if (args.Length == 1)
 name = args[0];
 
 Console.WriteLine("Hello, " + name + "!");
 }
 }
 }
 | 
|  | 
| ' Single line only REM Single line only
 ''' <summary>XML comments</summary>
 | // Single line/* Multiple
 line  */
 /// <summary>XML comments on single line</summary>
 /** <summary>XML comments on multiple lines</summary> */
 | 
|  | 
| Value TypesBoolean
 Byte, SByte
 Char
 Short, UShort, Integer, UInteger, Long, ULong
 Single, Double
 Decimal
 Date
 Reference TypesObject
 String
 
 InitializingDim correct As Boolean = True
 Dim b As Byte = &H2A   'hex
 Dim o As Byte = &O52   'octal
 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
 Type InformationDim x As Integer
 Console.WriteLine(x.GetType())          ' Prints System.Int32
 Console.WriteLine(GetType(Integer))   ' Prints System.Int32
 Console.WriteLine(TypeName(x))        ' Prints Integer
 Type ConversionDim d As Single = 3.5
 Dim i As Integer = CType(d, Integer)   ' set to 4 (Banker's rounding)
 i = CInt(d)  ' same result as CType
 i = Int(d)    ' set to 3 (Int function truncates the decimal)
 | Value Typesbool
 byte, sbyte
 char
 short, ushort, int, uint, long, ulong
 float, double
 decimal
 DateTime   (not a built-in C# type)
 Reference Typesobject
 string
 
 Initializingbool correct = true;
 byte b = 0x2A;   // hex
 
 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;
 
 Type Informationint x;
 Console.WriteLine(x.GetType());              // Prints System.Int32
 Console.WriteLine(typeof(int));               // Prints System.Int32
 Console.WriteLine(x.GetType().Name);   // prints Int32
 Type Conversion float d = 3.5f;
 int i = (int)d;   // set to 3  (truncates decimal)
 | 
|  | 
| Const MAX_STUDENTS As Integer = 25 ' Can set to a const or var; may be initialized in a constructorReadOnly MIN_DIAMETER As Single = 4.93
 | const int MAX_STUDENTS = 25; // Can set to a const or var; may be initialized in a constructor readonly float MIN_DIAMETER = 4.93f;
 | 
|  | 
| Enum Action Start
 [Stop]   ' Stop is a reserved word
 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)     ' Prints "Stop is 1"
 
 Console.WriteLine(Status.Pass)     ' Prints 70
 Console.WriteLine(Status.Pass.ToString())     ' Prints 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);    // Prints "Stop is 1"
 
 Console.WriteLine((int) Status.Pass);    // Prints 70
 Console.WriteLine(Status.Pass);      // Prints Pass
 | 
|  | 
| Comparison=  <  >  <=  >=  <>
 Arithmetic+  -  *  /
 Mod
 \  (integer division)
 ^  (raise to a power)
 Assignment=  +=  -=  *=  /=  \=  ^=  <<=  >>=  &=
 BitwiseAnd   Or   Xor   Not   <<   >>
 LogicalAndAlso   OrElse   And   Or   Xor   Not
 Note: AndAlso and OrElse perform short-circuit logical evaluations String Concatenation&
 | Comparison==  <  >  <=  >=  !=
 Arithmetic+  -  *  /
 %  (mod)
 /  (integer division if both operands are ints)
 Math.Pow(x, y)
 Assignment=  +=  -=  *=  /=   %=  &=  |=  ^=  <<=  >>=  ++  --
 Bitwise&   |   ^   ~   <<   >>
 Logical&&   ||   &   |   ^   !
 Note: && and || perform short-circuit logical evaluations String Concatenation+
 | 
|  | 
| greeting = IIf(age < 20, "What's up?", "Hello") ' One line doesn't require "End If"If age < 20 Then greeting = "What's up?"
 If age < 20 Then greeting = "What's up?" Else greeting = "Hello"
 ' Use : to put two commands on same lineIf x <> 100 And y < 5 Then x *= 5 : y *= 2
 ' PreferredIf x <> 100 And y < 5 Then
 x *= 5
 y *= 2
 End If
 ' To break up any long single line use _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   ' Must be a primitive data typeCase "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";
 // Multiple statements must be enclosed in {}if (x != 100 && y < 5) {
 x *= 5;
 y *= 2;
 }
 
 
 No need for _ or : since ; is used to terminate each statement. 
 
 
 if (x > 5)
 x *= y;
 else if (x == 5)
 x += y;
 else if (x < 10)
 x -= y;
 else
 x /= y;
 
 
 // Every case must end with break or goto case
 switch (color) {                          // Must be integer or string
 case "pink":
 case "red":    r++;    break;
 case "blue":   b++;   break;
 case "green": g++;   break;
 default:    other++;   break;       // break necessary on default
 }
 | 
|  | 
| 
| Pre-test 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
 |  
| Post-test Loops:
 |  
| Do c += 1
 Loop While c < 10
 | Do c += 1
 Loop Until c = 10
 |  '  Array or collection loopingDim names As String() = {"Fred", "Sue", "Barney"}
 For Each s As String In names
 Console.WriteLine(s)
 Next
 ' Breaking out of loopsDim i As Integer = 0
 While (True)
 If (i = 5) Then Exit While
 i += 1
 End While
 
 
 
 ' Continue to next iterationFor i = 0 To 4
 If i < 4 Then Continue For
 Console.WriteLine(i)   ' Only prints 4
 Next
 | Pre-test Loops: // no "until" keywordwhile (c < 10)
 c++;
 
 for (c = 2; c <= 10; c += 2)
 Console.WriteLine(c);
 
 Post-test Loop:
 
 do
 c++;
 while (c < 10);
 
 
 
 // Array or collection looping
 string[] names = {"Fred", "Sue", "Barney"};
 foreach (string s in names)
 Console.WriteLine(s);
 // Breaking out of loopsint i = 0;
 while (true) {
 if (i == 5)
 break;
 i++;
 }
 // Continue to next iterationfor (i = 0; i < 5; i++) {
 if (i < 4)
 continue;
 Console.WriteLine(i);   // Only prints 4
 }
 | 
|  | 
| Dim nums() As Integer = {1, 2, 3} For i As Integer = 0 To nums.Length - 1
 Console.WriteLine(nums(i))
 Next
 
 ' 4 is the index of the last element, so it holds 5 elements
 Dim names(4) As String
 names(0) = "David"
 names(5) = "Bobby"  ' Throws System.IndexOutOfRangeException
 
 ' Resize the array, keeping the existing values (Preserve is optional)
 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]);
 
 
 // 5 is the size of the array
 string[] names = new string[5];
 names[0] = "David";
 names[5] = "Bobby";   // Throws System.IndexOutOfRangeException
 
 
 // C# can't dynamically resize an array.  Just copy into new array.
 string[] names2 = new string[7];
 Array.Copy(names, names2, names.Length);   // or names.CopyTo(names2, 0);
 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;
 | 
|  | 
| ' Pass by value (in, default), reference (in/out), and reference (out)  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   ' c set to zero by default  TestFunc(a, b, c)
 Console.WriteLine("{0} {1} {2}", a, b, c)   ' 1 2 5
 ' Accept variable number of arguments Function Sum(ByVal ParamArray nums As Integer()) As Integer
 Sum = 0
 For Each i As Integer In nums
 Sum += i
 Next
 End Function   ' Or use Return statement like C#
 
 Dim total As Integer = Sum(4, 3, 2, 1)   ' returns 10
 ' Optional parameters must be listed last and must have a default value Sub SayHello(ByVal name As String, Optional ByVal prefix As String = "")
 Console.WriteLine("Greetings, " & prefix & " " & name)
 End Sub
 
 SayHello("Strangelove", "Dr.")
 SayHello("Madonna")
 
 | // Pass by value (in, default), reference (in/out), and reference (out) void TestFunc(int x, ref int y, out int z) {
 x++;
 y++;
 z = 5;
 }
 int a = 1, b = 1, c;  // c doesn't need initializingTestFunc(a, ref b, out c);
 Console.WriteLine("{0} {1} {2}", a, b, c);  // 1 2 5
 // Accept variable number of argumentsint 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 /* C# doesn't support optional arguments/parameters.  Just create two different versions of the same function. */  void SayHello(string name, string prefix) {
 Console.WriteLine("Greetings, " + prefix + " " + name);
 }
 
 void SayHello(string name) {
 SayHello(name, "");
 }
 | 
|  | 
| Special character constantsvbCrLf, vbCr, vbLf, vbNewLine
 vbNullString
 vbTab
 vbBack
 vbFormFeed
 vbVerticalTab
 ""
 ' String concatenation (use & or +) Dim school As String = "Harding" & vbTab
 school = school & "University" ' school is "Harding (tab) University"
 ' CharsDim letter As Char = school.Chars(0)   ' letter is H
 letter = Convert.ToChar(65)                ' letter is A
 letter = Chr(65)                                 ' same thing
 Dim word() As Char = school.ToCharArray() ' word holds Harding
 ' No string literal operator  Dim msg As String = "File is c:\temp\x.dat"
 
 
 
 
 ' String comparisonDim mascot As String = "Bisons"
 If (mascot = "Bisons") Then   ' true
 If (mascot.Equals("Bisons")) Then   ' true
 If (mascot.ToUpper().Equals("BISONS")) Then  ' true
 If (mascot.CompareTo("Bisons") = 0) Then   ' true
 Console.WriteLine(mascot.Substring(2, 3)) ' Prints "son"  ' String matchingIf ("John 3:16" Like "Jo[Hh]? #:*") Then   'true
 
 Imports System.Text.RegularExpressions   ' More powerful than Like
 Dim r As New Regex("Jo[hH]. \d:*")
 If (r.Match("John 3:16").Success) Then   'true
 ' My birthday: Oct 12, 1973Dim dt As New DateTime(1973, 10, 12)
 Dim s As String = "My birthday: " & dt.ToString("MMM dd, yyyy")
 ' Mutable string Dim buffer As New System.Text.StringBuilder("two ")
 buffer.Append("three ")
 buffer.Insert(0, "one ")
 buffer.Replace("two", "TWO")
 Console.WriteLine(buffer)         ' Prints "one TWO three"
 | Escape sequences\r    // carriage-return
 \n    // line-feed
 \t    // tab
 \\    // backslash
 \"    // quote
 
 
 
 
 
 // String concatenationstring school = "Harding\t";
 school = school + "University";   // school is "Harding (tab) University"
 // Charschar letter = school[0];            // letter is H
 letter = Convert.ToChar(65);     // letter is A
 letter = (char)65;                    // same thing
 char[] word = school.ToCharArray();   // word holds Harding
 // String literal string msg = @"File is c:\temp\x.dat";
 // same as
 string msg = "File is c:\\temp\\x.dat";
 
 // String comparisonstring mascot = "Bisons";
 if (mascot == "Bisons")    // true
 if (mascot.Equals("Bisons"))   // true
 if (mascot.ToUpper().Equals("BISONS"))   // true
 if (mascot.CompareTo("Bisons") == 0)    // true
 Console.WriteLine(mascot.Substring(2, 3));    // Prints "son" // String matching// No Like equivalent - use regular expressions
 
 using System.Text.RegularExpressions;
 Regex r = new Regex(@"Jo[hH]. \d:*");
 if (r.Match("John 3:16").Success)   // true
 // My birthday: Oct 12, 1973DateTime dt = new DateTime(1973, 10, 12);
 string s = "My birthday: " + dt.ToString("MMM dd, yyyy");
 // Mutable string System.Text.StringBuilder buffer = new System.Text.StringBuilder("two ");
 buffer.Append("three ");
 buffer.Insert(0, "one ");
 buffer.Replace("two", "TWO");
 Console.WriteLine(buffer);     // Prints "one TWO three"
 | 
| 
| VB.NET | Exception Handling | C# |  | 
| ' Throw an exceptionDim ex As New Exception("Something is really wrong.")
 Throw  ex
 ' Catch an exceptionTry
 y = 0
 x = 10 / y
 Catch ex As Exception When y = 0 ' Argument and When is optional
 Console.WriteLine(ex.Message)
 Finally
 Beep()
 End Try
 
 ' Deprecated unstructured error handlingOn Error GoTo MyErrorHandler
 ...
 MyErrorHandler: Console.WriteLine(Err.Description)
 
 | // Throw an exceptionException up = new Exception("Something is really wrong.");
 throw up;  // ha ha
 // Catch an exceptiontry {
 y = 0;
 x = 10 / y;
 }
 catch (Exception ex) {   // Argument is optional, no "When" keyword
 Console.WriteLine(ex.Message);
 }
 finally {
 // Requires reference to the Microsoft.VisualBasic.dll
 // assembly (pre .NET Framework v2.0)
 Microsoft.VisualBasic.Interaction.Beep();
 }
 | 
|  | 
| Namespace Harding.Compsci.Graphics ...
 End Namespace
 ' or Namespace Harding Namespace Compsci
 Namespace Graphics
 ...
 End Namespace
 End Namespace
 End Namespace
 Imports Harding.Compsci.Graphics  | namespace Harding.Compsci.Graphics {...
 }
 // or  namespace Harding {namespace Compsci {
 namespace Graphics {
 ...
 }
 }
 }
 using Harding.Compsci.Graphics;  | 
| 
| VB.NET | Classes / Interfaces | C# |  | 
| Accessibility keywords Public
 Private
 Friend
 Protected
 Protected Friend
 Shared
 ' InheritanceClass FootballGame
 Inherits Competition
 ...
 End Class
 ' Interface definitionInterface IAlarmClock
 ...
 End Interface
 // Extending an interface Interface IAlarmClock
 Inherits IClock
 ...
 End Interface
 // Interface implementationClass WristWatch
 Implements IAlarmClock, ITimer
 ...
 End Class
 | Accessibility keywords public
 private
 internal
 protected
 protected internal
 static
 // Inheritanceclass FootballGame : Competition {
 ...
 }
 // Interface definition
 interface IAlarmClock {
 ...
 }
 // Extending an interface interface IAlarmClock : IClock {
 ...
 }
 // Interface implementation
 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()
 ' Desctructor code to free unmanaged resources
 MyBase.Finalize()
 End Sub
 End Class
 | class SuperHero {private int _powerLevel;
 
 public SuperHero() {
 _powerLevel = 0;
 }
 
 public SuperHero(int powerLevel) {
 this._powerLevel= powerLevel;
 }
 
 ~SuperHero() {
 // Destructor code to free unmanaged resources.
 // Implicitly creates a Finalize method
 }
 }
 | 
|  | 
| Dim hero As SuperHero = New SuperHero' or
 Dim hero As New SuperHero
 With hero .Name = "SpamMan"
 .PowerLevel = 3
 End With
 
 hero.Defend("Laura Jones") hero.Rest()     ' Calling Shared method
 ' or
 SuperHero.Rest()
 Dim hero2 As SuperHero = hero  ' Both reference the same object hero2.Name = "WormWoman"
 Console.WriteLine(hero.Name)   ' Prints WormWoman
 hero = Nothing    ' Free the object  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.")
 ' Mark object for quick disposalUsing 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(); 
 
 
 
 // No "With" constructhero.Name = "SpamMan";
 hero.PowerLevel = 3;
 
 
 
 hero.Defend("Laura Jones");SuperHero.Rest();   // Calling static method
 
 SuperHero hero2 = hero;   // Both reference the same object
 hero2.Name = "WormWoman";
 Console.WriteLine(hero.Name);   // Prints WormWoman
 hero = null ;   // Free the object  if (hero == null)hero = new SuperHero();
 Object obj = new SuperHero(); // Mark object for quick disposalif (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)    ' Prints Bob
 Console.WriteLine(stu2.name)  ' Prints Sue
 | 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);    // Prints Bob
 Console.WriteLine(stu2.name);   // Prints Sue
 | 
|  | 
| 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 ' or to define an event which declares a delegate implicitlyEvent MsgArrivedEvent(ByVal message As String)
 AddHandler MsgArrivedEvent, AddressOf My_MsgArrivedCallback ' Won't throw an exception if obj is Nothing
 RaiseEvent MsgArrivedEvent("Test message")
 RemoveHandler MsgArrivedEvent, AddressOf My_MsgArrivedCallback
 
 Imports System.Windows.Forms Dim WithEvents MyButton As Button   ' WithEvents can't be used on local variableMyButton = 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; // Delegates must be used with events in C#
 
 MsgArrivedEvent += new MsgArrivedEventHandler(My_MsgArrivedEventCallback);
 MsgArrivedEvent("Test message");    // Throws exception if obj is null
 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)
 ' or
 Console.WriteLine(name & " is " & age & " years old.")
 
 Dim c As Integer
 c = Console.Read()    ' Read single char
 Console.WriteLine(c)   ' Prints 65 if user enters "A"
 | 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);
 // or
 Console.WriteLine(name + " is " + age + " years old.");
 int c = Console.Read();  // Read single char
 Console.WriteLine(c);    // Prints 65 if user enters "A"
 | 
|  | 
| Imports System.IO ' Write out to text fileDim writer As StreamWriter = File.CreateText("c:\myfile.txt")
 writer.WriteLine("Out to file.")
 writer.Close()
 ' Read all lines from text fileDim 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()
 ' Write out to binary fileDim 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()
 ' Read from binary fileDim binReader As New BinaryReader(File.OpenRead("c:\myfile.dat"))
 str = binReader.ReadString()
 num = binReader.ReadInt32()
 binReader.Close()
 | using System.IO; // Write out to text fileStreamWriter writer = File.CreateText("c:\\myfile.txt");
 writer.WriteLine("Out to file.");
 writer.Close();
 // Read all lines from text fileStreamReader reader = File.OpenText("c:\\myfile.txt");
 string line = reader.ReadLine();
 while (line != null) {
 Console.WriteLine(line);
 line = reader.ReadLine();
 }
 reader.Close();
 // Write out to binary filestring str = "Text data";
 int num = 123;
 BinaryWriter binWriter = new BinaryWriter(File.OpenWrite("c:\\myfile.dat"));
 binWriter.Write(str);
 binWriter.Write(num);
 binWriter.Close();
 // Read from binary fileBinaryReader binReader = new BinaryReader(File.OpenRead("c:\\myfile.dat"));
 str = binReader.ReadString();
 num = binReader.ReadInt32();
 binReader.Close();
 |