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}
}
}