At 10:52 AM 13/09/2006 +0200, Kornél Pál wrote: >>But what is the reason for changing some of the .ToString into DirectCast ? > >If you check for the exact data type (as you did in all the cases I modified >to DirectCast) either for value types of for reference types there is no use >to do tricky conversions because we know the type of the variable so a >DirectCast is the most efficient and most reasonable conversion because >after a TypeOf <value> Is <type> a DirectCast(<value>, <type>) will succeed >for sure. So I only suggest to change CType to DirectCast in these contexts.
In the case of an Object that is known to contain a String, a call to .ToString() may perform better than a direct cast. A cast still needs to check the type, even though the code has already just done it with a TypeOf (I'd be very surprised if the JIT can detect that pattern and only do one check). Calling .ToString() will be a virtual call to "return this;". It'd be interesting to do a comparison, but my intuition is that .ToString() would be significantly faster in this case. Jonathan Gilbert _______________________________________________ Mono-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-list
