<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Cameron Beccario : VB Performance</title><link>http://blogs.msdn.com/cambecc/archive/tags/VB+Performance/default.aspx</link><description>Tags: VB Performance</description><dc:language>ja-JP</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Performance techniques for converting Object to structures</title><link>http://blogs.msdn.com/cambecc/archive/2003/07/19/51257.aspx</link><pubDate>Sat, 19 Jul 2003 22:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:51257</guid><dc:creator>cambecc</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/cambecc/comments/51257.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cambecc/commentrss.aspx?PostID=51257</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;If you're
converting &lt;b style='mso-bidi-font-weight:normal'&gt;Object&lt;/b&gt; expressions to
structures, you can tweak your code for a drastic performance improvement.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;Because &lt;span
class=SpellE&gt;unboxing&lt;/span&gt; a &lt;b style='mso-bidi-font-weight:normal'&gt;Nothing&lt;/b&gt;
reference throws an exception, a conversion from &lt;b style='mso-bidi-font-weight:
normal'&gt;Object&lt;/b&gt; to a structure involves testing for a &lt;b style='mso-bidi-font-weight:
normal'&gt;Nothing&lt;/b&gt; reference before performing &lt;span class=GramE&gt;the &lt;span
class=SpellE&gt;unbox&lt;/span&gt;&lt;/span&gt;.&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;For
example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console";
color:blue'&gt;Structure&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;
&lt;span class=SpellE&gt;Foo&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;Public&lt;/span&gt; a &lt;span
style='color:blue'&gt;As&lt;/span&gt; &lt;span style='color:blue'&gt;Integer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;Public&lt;/span&gt; b &lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;As&lt;/span&gt;&lt;/span&gt; &lt;span style='color:blue'&gt;Integer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console";
color:blue'&gt;End&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;
&lt;span style='color:blue'&gt;Structure&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console";
color:blue'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console";
color:blue'&gt;Module&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;
Test&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;Sub&lt;/span&gt; &lt;span
class=SpellE&gt;&lt;span class=GramE&gt;Foo&lt;/span&gt;&lt;/span&gt;&lt;span class=GramE&gt;(&lt;/span&gt;&lt;span
class=SpellE&gt;&lt;span style='color:blue'&gt;ByVal&lt;/span&gt;&lt;/span&gt; o &lt;span
style='color:blue'&gt;As&lt;/span&gt; &lt;span style='color:blue'&gt;Object&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;Dim&lt;/span&gt; x &lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;As&lt;/span&gt;&lt;/span&gt; &lt;span class=SpellE&gt;Foo&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;x = o&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;End&lt;/span&gt; &lt;span
style='color:blue'&gt;Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console";
color:blue'&gt;End&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;
&lt;span style='color:blue'&gt;Module&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;The
compiler actually generates this code behind the scenes:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console";
color:blue'&gt;Module&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;
Test&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;Sub&lt;/span&gt; &lt;span
class=SpellE&gt;&lt;span class=GramE&gt;Foo&lt;/span&gt;&lt;/span&gt;&lt;span class=GramE&gt;(&lt;/span&gt;&lt;span
class=SpellE&gt;&lt;span style='color:blue'&gt;ByVal&lt;/span&gt;&lt;/span&gt; o &lt;span
style='color:blue'&gt;As&lt;/span&gt; &lt;span style='color:blue'&gt;Object&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;Dim&lt;/span&gt; x &lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;As&lt;/span&gt;&lt;/span&gt; &lt;span class=SpellE&gt;Foo&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;Dim&lt;/span&gt; _t &lt;span
style='color:blue'&gt;As&lt;/span&gt; &lt;span style='color:blue'&gt;Object&lt;/span&gt; = o&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;If&lt;/span&gt; _t &lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;Is&lt;/span&gt;&lt;/span&gt; &lt;span style='color:blue'&gt;Nothing&lt;/span&gt;
&lt;span style='color:blue'&gt;Then&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;_t = &lt;span class=SpellE&gt;&lt;span
class=GramE&gt;System.Activator.CreateInstance&lt;/span&gt;&lt;/span&gt;&lt;span class=GramE&gt;(&lt;/span&gt;&lt;span
class=SpellE&gt;&lt;span style='color:blue'&gt;GetType&lt;/span&gt;&lt;/span&gt;(&lt;span class=SpellE&gt;Foo&lt;/span&gt;))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;End&lt;/span&gt; &lt;span
style='color:blue'&gt;If&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;x = &lt;span class=SpellE&gt;&lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;DirectCast&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span
class=GramE&gt;(&lt;/span&gt;_t, &lt;span class=SpellE&gt;Foo&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;End&lt;/span&gt; &lt;span
style='color:blue'&gt;Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console";
color:blue'&gt;End&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;
&lt;span style='color:blue'&gt;Module&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;In the
case that &lt;i style='mso-bidi-font-style:normal'&gt;o&lt;/i&gt; is &lt;span class=GramE&gt;&lt;b
style='mso-bidi-font-weight:normal'&gt;Nothing&lt;/b&gt;&lt;/span&gt;, &lt;i style='mso-bidi-font-style:
normal'&gt;x&lt;/i&gt; gets a zeroed-out, or default, instance of &lt;span class=SpellE&gt;&lt;i
style='mso-bidi-font-style:normal'&gt;Foo&lt;/i&gt;&lt;/span&gt;.&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;Getting this default instance of &lt;span
class=SpellE&gt;&lt;i style='mso-bidi-font-style:normal'&gt;Foo&lt;/i&gt;&lt;/span&gt; is costly
because the compiler uses &lt;span class=SpellE&gt;&lt;b style='mso-bidi-font-weight:
normal'&gt;System.Activator.CreateInstance&lt;/b&gt;&lt;/span&gt; to create one.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;You can
avoid the call to &lt;span class=SpellE&gt;&lt;b style='mso-bidi-font-weight:normal'&gt;System.Activator.CreateInstance&lt;/b&gt;&lt;/span&gt;
by performing the &lt;b style='mso-bidi-font-weight:normal'&gt;Nothing&lt;/b&gt; check by
hand and supplying a ready-made default instance of your structure.&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;There are two techniques I can think of to
supply a ready-made default, either by using a local variable or, slightly
safer, a &lt;b style='mso-bidi-font-weight:normal'&gt;Shared &lt;span class=SpellE&gt;ReadOnly&lt;/span&gt;&lt;/b&gt;
field declared on the structure itself.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;Option 1:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console";
color:blue'&gt;Module&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;
Test&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;Sub&lt;/span&gt; &lt;span
class=SpellE&gt;&lt;span class=GramE&gt;Foo&lt;/span&gt;&lt;/span&gt;&lt;span class=GramE&gt;(&lt;/span&gt;&lt;span
class=SpellE&gt;&lt;span style='color:blue'&gt;ByVal&lt;/span&gt;&lt;/span&gt; o &lt;span
style='color:blue'&gt;As&lt;/span&gt; &lt;span style='color:blue'&gt;Object&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;Dim&lt;/span&gt; x &lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;As&lt;/span&gt;&lt;/span&gt; &lt;span class=SpellE&gt;Foo&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;Dim&lt;/span&gt; &lt;span
style='color:blue'&gt;DEFAULT&lt;/span&gt; &lt;span class=GramE&gt;&lt;span style='color:blue'&gt;As&lt;/span&gt;&lt;/span&gt;
&lt;span class=SpellE&gt;Foo&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span
style='color:green'&gt;'Don't ever modify this&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;If&lt;/span&gt; o &lt;span
style='color:blue'&gt;Is&lt;/span&gt; &lt;span style='color:blue'&gt;Nothing&lt;/span&gt; &lt;span
style='color:blue'&gt;Then&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;x = &lt;span class=SpellE&gt;DEFAULT&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span
style='color:blue'&gt;Else&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;x = &lt;span class=SpellE&gt;&lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;DirectCast&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span
class=GramE&gt;(&lt;/span&gt;o, &lt;span class=SpellE&gt;Foo&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;End&lt;/span&gt; &lt;span
style='color:blue'&gt;If&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console";
color:blue'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;End&lt;/span&gt; &lt;span
style='color:blue'&gt;Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console";
color:blue'&gt;End&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;
&lt;span style='color:blue'&gt;Module&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;Option 2:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console";
color:blue'&gt;Structure&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;
&lt;span class=SpellE&gt;Foo&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;Public&lt;/span&gt; a &lt;span
style='color:blue'&gt;As&lt;/span&gt; &lt;span style='color:blue'&gt;Integer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;Public&lt;/span&gt; b &lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;As&lt;/span&gt;&lt;/span&gt; &lt;span style='color:blue'&gt;Integer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console";
color:blue'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;Public&lt;/span&gt; &lt;span
style='color:blue'&gt;Shared&lt;/span&gt; &lt;span class=SpellE&gt;&lt;span style='color:blue'&gt;ReadOnly&lt;/span&gt;&lt;/span&gt;
&lt;span style='color:blue'&gt;DEFAULT&lt;/span&gt; &lt;span class=GramE&gt;&lt;span
style='color:blue'&gt;As&lt;/span&gt;&lt;/span&gt; &lt;span class=SpellE&gt;Foo&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console";
color:blue'&gt;End&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;
&lt;span style='color:blue'&gt;Structure&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console";
color:blue'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console";
color:blue'&gt;Module&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;
Test&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;Sub&lt;/span&gt; &lt;span
class=SpellE&gt;&lt;span class=GramE&gt;Foo&lt;/span&gt;&lt;/span&gt;&lt;span class=GramE&gt;(&lt;/span&gt;&lt;span
class=SpellE&gt;&lt;span style='color:blue'&gt;ByVal&lt;/span&gt;&lt;/span&gt; o &lt;span
style='color:blue'&gt;As&lt;/span&gt; &lt;span style='color:blue'&gt;Object&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;Dim&lt;/span&gt; x &lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;As&lt;/span&gt;&lt;/span&gt; &lt;span class=SpellE&gt;Foo&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;If&lt;/span&gt; o &lt;span
style='color:blue'&gt;Is&lt;/span&gt; &lt;span style='color:blue'&gt;Nothing&lt;/span&gt; &lt;span
style='color:blue'&gt;Then&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;x = &lt;span class=SpellE&gt;Foo.DEFAULT&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;Else&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;x = &lt;span class=SpellE&gt;&lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;DirectCast&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span
class=GramE&gt;(&lt;/span&gt;o, &lt;span class=SpellE&gt;Foo&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;End&lt;/span&gt; &lt;span
style='color:blue'&gt;If&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console";
color:blue'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;End&lt;/span&gt; &lt;span
style='color:blue'&gt;Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console";
color:blue'&gt;End&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;
&lt;span style='color:blue'&gt;Module&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;The nice
thing about Option 1 is that you can use this technique for any structure.&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;However, Option 2 is the better choice
because, assuming you can modify the declaration of the structure, the compiler
will stop you from accidentally modifying the DEFAULT variable, thereby
preserving its clean state.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;Note that
assigning &lt;span class=GramE&gt;&lt;b style='mso-bidi-font-weight:normal'&gt;Nothing&lt;/b&gt;&lt;/span&gt;
to a structure generates a call to &lt;span class=SpellE&gt;&lt;b style='mso-bidi-font-weight:
normal'&gt;CreateInstance&lt;/b&gt;&lt;/span&gt; as well.&lt;span style='mso-spacerun:yes'&gt;&amp;nbsp;
&lt;/span&gt;You should use these techniques rather than assigning &lt;span class=GramE&gt;&lt;b
style='mso-bidi-font-weight:normal'&gt;Nothing&lt;/b&gt;&lt;/span&gt; to a structure:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console";
color:blue'&gt;Module&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;
Test&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;Sub&lt;/span&gt; &lt;span
class=SpellE&gt;&lt;span class=GramE&gt;Foo&lt;/span&gt;&lt;/span&gt;&lt;span class=GramE&gt;(&lt;/span&gt;&lt;span
class=SpellE&gt;&lt;span style='color:blue'&gt;ByVal&lt;/span&gt;&lt;/span&gt; o &lt;span
style='color:blue'&gt;As&lt;/span&gt; &lt;span style='color:blue'&gt;Object&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;Dim&lt;/span&gt; x &lt;span
class=GramE&gt;&lt;span style='color:blue'&gt;As&lt;/span&gt;&lt;/span&gt; &lt;span class=SpellE&gt;Foo&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;x = &lt;span style='color:blue'&gt;Nothing&lt;/span&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:green'&gt;'Okay&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;x = &lt;span class=SpellE&gt;&lt;span
class=GramE&gt;Foo.DEFAULT&lt;/span&gt;&lt;/span&gt;&lt;span class=GramE&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:green'&gt;'Better&lt;/span&gt;&lt;/span&gt;&lt;span
style='color:green'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='color:blue'&gt;End&lt;/span&gt; &lt;span
style='color:blue'&gt;Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console";
color:blue'&gt;End&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Lucida Console"'&gt;
&lt;span style='color:blue'&gt;Module&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;Also note
that these techniques pertain to &lt;b style='mso-bidi-font-weight:normal'&gt;Structures&lt;/b&gt;,
not intrinsic value types such as &lt;b style='mso-bidi-font-weight:normal'&gt;Byte&lt;/b&gt;,
&lt;b style='mso-bidi-font-weight:normal'&gt;Integer&lt;/b&gt;, &lt;b style='mso-bidi-font-weight:
normal'&gt;Long&lt;/b&gt;, &lt;b style='mso-bidi-font-weight:normal'&gt;Double&lt;/b&gt;, etc.&lt;span
style='mso-spacerun:yes'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;Casting from &lt;b style='mso-bidi-font-weight:
normal'&gt;Object&lt;/b&gt; to &lt;b style='mso-bidi-font-weight:normal'&gt;Integer&lt;/b&gt; will &lt;i
style='mso-bidi-font-style:normal'&gt;not&lt;/i&gt; involve a call to &lt;span
class=SpellE&gt;&lt;b style='mso-bidi-font-weight:normal'&gt;CreateInstance&lt;/b&gt;&lt;/span&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;We're
definitely looking at having the compiler use these same techniques (probably
Option 1 where the local will be an inaccessible temporary variable) in the
next version.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style='font-size:10.0pt;font-family:Verdana'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=51257" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cambecc/archive/tags/VB+Performance/default.aspx">VB Performance</category></item></channel></rss>