Guess what? C# cannot use default parameters!

That's right!

Consider the code below.

Public Shared Function ComputeTotal(ByVal subtotal As Double, Optional ByVal salesTaxPrecent As Double = 8.8) As Double
        ComputeTotal = subtotal + subtotal * salesTaxPrecent / 100
End Function

From either VB.NET, or Delphi, you can call it as ComputeTotal(100)

However, from C#, you need to call it as ComputeTotal(100, 8.8)