<p>Are all of these equal?  Under what circumstances should I choose each over the others?</p>

<ul>
<li><p>var.ToString()</p></li>
<li><p>CStr(var)</p></li>
<li><p>CType(var, String)</p></li>
<li><p>DirectCast(var, String)</p></li>
</ul>

<hr>

<p><em>EDIT: Suggestion from <strong><a href="https://stackoverflow.com/users/303/notmyself">NotMyself</a></strong>&hellip;</em></p>

<ul>
<li>TryCast(var, String)</li>
</ul>

I prefer the following syntax:
```
```
Dim number As Integer = 1
Dim str As String = String.TryCast(number)

If str IsNot Nothing Then
```
```
Hah you can tell I typically write code in C#. 8)
The reason I prefer TryCast is you do not have to mess with the overhead of casting exceptions. Your cast either succeeds or your variable is initialized to null and you deal with that accordingly.