Do I need to Convert with Convert.ToInt32(session("myNumber")) ?

A

Andreas Klemt

Hello,
I have this

session("myNumber") = 888
Dim intNumber As Integer

a) intNumber = session("myNumber")
b) intNumber = Convert.ToInt32(session("myNumber"))


What has better performance and what should I do?

Thanks,
Andreas
 
K

Karl Seguin

You are clearly not programming with Option Strict on. You should turn it
on and then you wouldn't have a choice but to select the most performant and
safest method.

b) Explicietly converting is the best way to do it, spefically from a
perfromance point of view...otherwise you are late-binding...which is bad.

Alternative (and better) ways to write b) would be using cint() or
DirectCast...both of which should be faster than Convert.ToInt32 and are
recommeded by Microsoft. You should always explicetly convert. Session,
Application, Context, DataReader and DataRow objects are all great examples
of places that return object, but you are likely implicetly assigning to
ints or strings.

Also, some error handling would be nice ,no?

dim intNumber as integer
try
intNumber = cint(session("myNumber"))
catch ex as FormatException
'maybe you wanna redirect? Maybe you wanna set a default value
catch ex as OverflowException
'maybe you wanna redirect? Maybe you wanna set a default value
end try

Karl
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,743
Messages
2,569,478
Members
44,899
Latest member
RodneyMcAu

Latest Threads

Top