Listing 1: StringBuilder object


Visual Basic

Dim myString as String = "Optimize"
Dim mySB as New System.Text.StringBuilder(myString)
Dim i as Integer


For i = 0 to 1000000
sb.Append(myString)
Next


Console.WriteLine(sb.ToString())


C#


string myString = "Optimize";
System.Text.StringBuilder sb = new System.Text.StringBuilder(myString);


for(int i = 0; i < 1000000; i++)
sb.Append(s);


Console.WriteLine(sb.ToString());


Listing 2: String interation


Visual Basic
'slower
Dim c as Char


'slower
For Each c in myString
myCounter += 1
Next


'faster
For i = 0 to 1000000
myCounter += 1
Next


C#


int myCounter = 0;


// slower
foreach (char c in myString)
myCounter++;


// faster
for (int i = 0; i < 1000000; i++)
myCounter++

Listing 3 Chatty calls


Visual Basic

Public Class User Inherits MarshalByRefObject
Private _firstName As String
Private _lastName As String


Public Property FirstName() As String
Get
Return _firstName
End Get
Set(ByVal Value As String)
_firstName = Value
End Set
End Property


Public Property LastName() As String
Get
Return _lastName
End Get
Set(ByVal Value As String)
_lastName = Value
End Set
End Property


Public Function ShowUserName() As String
AddUser = _firstName & " " & _lastName
End Function
End Class


Module Module1


Sub Main()
Dim myUser = New User()


myUser.FirstName = "Scott"
myUser.LastName = "Fausel"


Console.WriteLine(myUser.AddUser())


Console.ReadLine()
End Sub


End Module

C#

class User : MarshalByRefObject
{
private string _firstName;
private string _lastName;

public string FirstName
{
get { return _firstName; }
set { _firstName = value; }
}


public string LastName
{
get { return _lastName; }
set { _lastName = value; }
}


public string GetUserName()
{
return _firstName + " " + _lastName;
}
}


class ShowResults
{
[STAThread]
static void Main(string[] args)
{
User myUser = new User();


myUser.FirstName = "Scott";
myUser.LastName = "Fausel";


Console.WriteLine(myUser.GetUserName());
}
}




Listing 4 Chunky calls


Visual Basic

Public Class User Inherits MarshalByRefObject


Public Function GetUserName(firstName as String
lastName as String) As String
GetUserName = firstName & " " &
lastName
End Function
End Class


Module Module1


Sub Main()
Dim myUser = New User()


Console.WriteLine(myUser.GetUserName())


Console.ReadLine()
End Sub


End Module


C#

class User : MarshalByRefObject
{


public string GetUserName(string firstName,
string lastName)
{
return _firstName + " " + _lastName;
}
}


class ShowResults
{
[STAThread]
static void Main(string[] args)
{
User myUser = new User();

Listing 5 Throw fewer Exceptions

Visual Basic


Console.WriteLine(myUser.GetUserName("Scott", "Fausel"));
}
}



Public Class Holder
Public Class MyException
Inherits ApplicationException
......
End Class


Public Class MyApp
Public Sub ThrowException()
Try
......
Catch
Throw New myException()
End Try
End Sub


Public Function ReturnValue()
Try
......
Catch
ReturnValue = -1
End Try
End Sub
End Class
End Class


C#


public class Holder
public class MyException
{
......
}


public class MyApp
{
public void ThrowException()
{
try {......}
catch {throw new myException()};
}


public void ReturnValue()
{
try {......}
catch {return -1}
}
}