<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Mr.Tの場所</title><link>http://blogs.wankuma.com/mrt/</link><description>特攻野郎Aチームじゃないよー</description><managingEditor>Mr.T</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>Mr.T</dc:creator><title>[Excel]Excelファイルを開いても、Excelブックのウィンドウが表示されない</title><link>http://blogs.wankuma.com/mrt/archive/2010/03/11/187018.aspx</link><pubDate>Thu, 11 Mar 2010 17:55:00 GMT</pubDate><guid>http://blogs.wankuma.com/mrt/archive/2010/03/11/187018.aspx</guid><wfw:comment>http://blogs.wankuma.com/mrt/comments/187018.aspx</wfw:comment><comments>http://blogs.wankuma.com/mrt/archive/2010/03/11/187018.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.wankuma.com/mrt/comments/commentRss/187018.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/mrt/services/trackbacks/187018.aspx</trackback:ping><description>&lt;p&gt;Mr.Tです、こんにちは。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Excelファイルは、MDIといって複数のブックが表示できるようになっています。&lt;/p&gt; &lt;p&gt;なので、そのウィンドウの位置情報もファイル中にもっています。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;SXGA（1280*1024）の画面で作成したExcelファイルを、XGA（1024*768）で見たとき、そのブックの位置情報&lt;br&gt;は、補正しないようです。（Excel2007で確認）&lt;/p&gt; &lt;p&gt;そのため、高い解像度でウィンドウの下部、つまり下のほうに隠れるように配置しておくと、それより低い解像度で&lt;br&gt;範囲外の位置情報であった場合、開いたときには何も表示されない状態に見えてしまいます。&lt;br&gt;&lt;/p&gt; &lt;p&gt;このときは、ファイルのウィンドウにスクロールも表示されないので、ファイルが壊れているんじゃないかなどと&lt;br&gt;勘違いしてしまいそうですが、実際はそういう原因もあるようです。&lt;/p&gt; &lt;p&gt;本来的には、作成した人にきちんとした場所で表示されるようにしてもらうなどするのがベストですが、&lt;br&gt;見る側の対応としては、表示→ウィンドウの整列、で見れるようになります。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;普通はありえないのかもしれないですが、MDIウィンドウを最大化して使わない人はご注意のほどを。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/mrt/aggbug/187018.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mr.T</dc:creator><title>[Excel]ツールバーにマクロを登録して、複数のExcelファイルから利用する方法</title><link>http://blogs.wankuma.com/mrt/archive/2010/03/02/186640.aspx</link><pubDate>Tue, 02 Mar 2010 13:28:00 GMT</pubDate><guid>http://blogs.wankuma.com/mrt/archive/2010/03/02/186640.aspx</guid><wfw:comment>http://blogs.wankuma.com/mrt/comments/186640.aspx</wfw:comment><comments>http://blogs.wankuma.com/mrt/archive/2010/03/02/186640.aspx#Feedback</comments><slash:comments>267</slash:comments><wfw:commentRss>http://blogs.wankuma.com/mrt/comments/commentRss/186640.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/mrt/services/trackbacks/186640.aspx</trackback:ping><description>&lt;p&gt;Mr.Tです、こんにちは。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;#この記事は、基本、Excel2003を対象にしておりますが、Excel2007のケースへの対応方法もあわせて記載しております。&lt;/p&gt; &lt;p&gt;#この方法は、半ばイレギュラーな対応と考えてもらった方がよいかと思いますので、万一ご利用の環境でもうまくいかない&lt;br&gt;#というケースがもしかしたらあるかもしれません。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;ツールバーに、独自のマクロを登録（アイコンで表示）させて、色々なExcelファイルで利用したいというのは、よくあることではないか&lt;br&gt;と思います。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt; 例えば、こんな感じの状況です。&lt;/p&gt; &lt;table border="1" cellspacing="0" cellpadding="0" width="299"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="102"&gt; Excelファイル A&lt;/td&gt; &lt;td valign="top" width="195"&gt; 実行したいマクロ名 「計算実行()]&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="102"&gt; Excelファイル B&lt;/td&gt; &lt;td valign="top" width="195"&gt; 実行したマクロ名 「計算実行()」&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;ExcelファイルA、Bを実行するには、マクロ名「計算実行」を行う必要があります。&lt;/p&gt; &lt;p&gt;ただし、名前は一緒でも、処理されるファイルが別々です。また、マクロの中身もちょっとだけ違います。&lt;/p&gt; &lt;p&gt;それでも、実行するボタンは一緒のボタンから実行したいのです。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Excelファイルのツールバーには、そのためのボタンを登録して、どちらのファイルを開いても、&lt;/p&gt; &lt;p&gt;ファイルAならファイルAの計算実行マクロ、ファイルBならファイルBの計算実行マクロを実行する必要があるのです。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;実は、ツールバー登録するとそのボタンには、「ファイルパス!マクロ名」もしくは、「ファイルパス!シート名.マクロ名」&lt;br&gt;という情報をツールバーの中に持ちます。&lt;/p&gt; &lt;p&gt;#マクロは、標準モジュールに書くか、Sheetに書くかの違いですが、Sheetに書いた場合は、シート名の指定まで必要です&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;ボタンそのものに、どこのマクロを実行するかという情報が埋め込まれてしまうため、このままでは片方のファイルにある&lt;br&gt;マクロしか実行できません。&lt;/p&gt; &lt;p&gt;更に云えば、そのExcelファイルは、置き場所を変えてしまうと、ツールバーのボタンも実行できずにエラーになります。&lt;br&gt;#マクロが見つからないとか、なんとかいうエラーになる&lt;/p&gt; &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font size="3"&gt;ボタンに割り当てられるマクロは、マクロ名だけにしたいのに、パスがどうしても入ってしまう！&lt;br&gt;&lt;/font&gt;これをなんとかできないかな、というのが今回の本質的な趣旨です。&lt;/p&gt; &lt;p&gt;&lt;br&gt;そこで、利用できるのが、アドインです。&lt;br&gt;アドインは、別段プログラムを書く必要はありません。&lt;/p&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;----実際の作業--- &lt;p&gt;ツールバーにマクロを登録させるのは特に難しくありません。 &lt;p&gt;「Excel アドイン 作成」で検索すると、すぐに作り方を理解できます。 &lt;p&gt;&lt;a href="http://members.at.infoseek.co.jp/kenchan_h/index15.html"&gt;http://members.at.infoseek.co.jp/kenchan_h/index15.html&lt;/a&gt; &lt;p&gt;&lt;a title="http://www.asahi-net.or.jp/~ef2o-inue/haifu/sub06_030.html" href="http://www.asahi-net.or.jp/~ef2o-inue/haifu/sub06_030.html"&gt;http://www.asahi-net.or.jp/~ef2o-inue/haifu/sub06_030.html&lt;/a&gt; &lt;p&gt;&amp;nbsp; &lt;ol&gt; &lt;li&gt;目的のマクロだけを保存したExcelファイルを、AddInフォルダに拡張子、xlaとして保存するだけです。&lt;br&gt;メニューバー→ツール→アドインの中に、今保存したファイル名が表示されますので、チェックをいれておきます。&lt;br&gt;&lt;/li&gt; &lt;li&gt;チェックを入れてから、今度はツールバーに登録したマクロ実行のボタンに対して、マクロ名を割り当てます。&lt;br&gt;ただし、マクロ名は、マクロ選択ウィンドウには&lt;strong&gt;出てきません&lt;/strong&gt;ので、入力欄には&lt;strong&gt;自前で&lt;/strong&gt;マクロ名（シート名.マクロ名）を&lt;br&gt;入力してください。&lt;br&gt;&lt;/li&gt; &lt;li&gt;これで登録できたら、アドインのウィンドウで、先ほどチェックをいれたものを&lt;strong&gt;外します&lt;/strong&gt;。さらに、AddInフォルダにある、保存したファイルを削除します。&lt;br&gt;&lt;/li&gt; &lt;li&gt;これで、ツールバーには、マクロ名だけの情報を持ったボタンが作成されました。&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;※保存先については、アドイン作成の際に参考にしたサイトなどで確認してください。&lt;/p&gt; &lt;p&gt; &lt;p&gt;これで、ExcelファイルAのマクロも、ExcelファイルBのマクロも、アクティブになっているファイルのマクロが優先されて実行されるはずです。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;もし、他のパソコンでもこのツールバーを使用したいというのであれば、&lt;strong&gt;Excel11.xlb&lt;/strong&gt;というファイルが&lt;strong&gt;Document And Setting/(User固有名)/Application Data/Microsoft/Excel/&lt;/strong&gt;にあります。それをコピーして使ってください&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;【Excel2007】の場合は、クイックアクセスツールバーに登録することになります。&lt;/p&gt; &lt;p&gt;まずは、クイックアクセスツールバーに実行したいマクロを登録してください。&lt;/p&gt; &lt;p&gt;次に、Excel.qatというファイルを探してください。&lt;/p&gt; &lt;p&gt;そのファイルをメモ帳などで開くと、XMLファイルになっていることがわかります。そこで、マクロ名が指定されている箇所がありますのでそこを探してください。そのマクロ名には、同じようにパスが含まれているので、そのパスを消して上書きコピーすればOkです。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a title="http://itpro.nikkeibp.co.jp/article/COLUMN/20060206/228645/" href="http://itpro.nikkeibp.co.jp/article/COLUMN/20060206/228645/"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/mrt/aggbug/186640.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mr.T</dc:creator><title>[Excel]Excel2007で、「図が大きすぎます」「リソース不足のため，このタスクを完了させることができません」というメッセージが表示されてしまう</title><link>http://blogs.wankuma.com/mrt/archive/2010/02/17/186179.aspx</link><pubDate>Wed, 17 Feb 2010 18:30:00 GMT</pubDate><guid>http://blogs.wankuma.com/mrt/archive/2010/02/17/186179.aspx</guid><wfw:comment>http://blogs.wankuma.com/mrt/comments/186179.aspx</wfw:comment><comments>http://blogs.wankuma.com/mrt/archive/2010/02/17/186179.aspx#Feedback</comments><slash:comments>183</slash:comments><wfw:commentRss>http://blogs.wankuma.com/mrt/comments/commentRss/186179.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/mrt/services/trackbacks/186179.aspx</trackback:ping><description>&lt;p&gt;Mr.Tです、こんにちは。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;仕事でExcel 2003とExcel 2007の両方で使用するVBAコードを書いていたときに、ぶちあたった問題がとりあえず直接の原因までは&lt;br&gt;わからないものの、おそらくここが原因だろうという部分がはっきりしたと思うので、覚書程度に。&lt;/p&gt; &lt;p&gt;VBAコード内では、ワークシートを内部で作成、追加し、他のワークシートの内容をまるごと上書きコピー&amp;amp;若干の内容変更を&lt;br&gt;行うものでした。&lt;/p&gt; &lt;p&gt;変更前の、コードの概要はこんな感じでした。&lt;/p&gt; &lt;div class="SourceBox"&gt; &lt;p&gt;(パート1）&lt;/p&gt; &lt;p&gt;ActiveWorkbook.Sheets.Add.Name = NewSheetName&lt;br&gt;'全体のALL Copyをしておく&lt;br&gt;Call ActiveWorkbook.Sheets(baseSheetName).Cells.Copy(ActiveWorkbook.Sheets(NewSheetName).Cells)  &lt;p&gt;～～～～～～～～色々やってる～～～～～  &lt;p&gt;(パート2）  &lt;p&gt;'クリップボード経由&lt;br&gt;Call dataSheet.Range(startDataLine &amp;amp; CStr(TargetLineNo) &amp;amp; ":" &amp;amp; endDataLine &amp;amp; CStr(TargetLineNo)).Copy  &lt;p&gt;'データはC列から&lt;br&gt;Call saveSheet.Range("C" &amp;amp; CStr(NextLineNo) &amp;amp; ":C" &amp;amp; CStr(NextLineNo)).PasteSpecial(xlPasteValues)  &lt;p&gt;～～～～～～ 色々やってる～～～～～&lt;/p&gt;&lt;/div&gt; &lt;p&gt;変更点としては、パート2のあとに、更にパート1のようなコードを追加して、動きとしてはシートを2回追加するように &lt;br&gt;していました。  &lt;p&gt;&amp;nbsp; &lt;p&gt;このVBAコードは、マクロ実行からおこなわれるようになっていたのですが、この修正後にマクロ実行、Excelファイルを終了しようとすると&lt;br&gt;タイトルのようなメッセージがでて、マシン自体が固まったようになってしまう現象でした。（メモリの使用量が100%近くなる）  &lt;p&gt;この挙動がどうにも納得できないことが多く、コピーするワークシートには限らないようで、どのワークシートをつかっても発生していました。&lt;/p&gt; &lt;p&gt;そこで、2回目のパート1をごっそり削って、パート2も削って再度同じことをしてみると、同じ現象が。&lt;/p&gt; &lt;p&gt;まとめると、エラーがおきていなかった状態では、&lt;/p&gt; &lt;ul&gt; &lt;li&gt;（シートを新たに作成して、コピー元のシートの内容をまるごとコピーする）  &lt;li&gt;→（上とは別のシート上からデータを参照し、それをまた別のシートに貼り付ける）&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;という動き。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;試してみてエラーが起きたのは、&lt;/p&gt; &lt;ul&gt; &lt;li&gt;（シートを新たに作成して、コピー元のシートの内容をまるごとコピーする）  &lt;li&gt;→（上とは別のシート上からデータを参照し、それをまた別のシートに貼り付ける）  &lt;li&gt;→（シートを新たに作成して、コピー元のシートの内容をまるごとコピーする）&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;これと、&lt;/p&gt; &lt;ul&gt; &lt;li&gt;（シートを新たに作成して、コピー元のシートの内容をまるごとコピーする）&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;のパターン。&lt;/p&gt; &lt;p&gt;ということで、コピー自体はどちらもクリップボード経由であることに気がつきました。&lt;/p&gt; &lt;p&gt;となると、Excel2007の全体指定でALLコピーしてきた内容（パート1）の部分が、そのままクリップボードに残っていると&lt;/p&gt; &lt;p&gt;Excelの終了時にリソース不足になるのではないか、と当たりをつけてみました。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;で、上記の流れの最後に、こんな感じにしてみました。&lt;/p&gt; &lt;div class="SourceBox"&gt; &lt;p&gt;'クリップボードの中身を軽減&lt;br&gt;Call dataSheet.Range("A1:A1").Copy &lt;/p&gt;&lt;/div&gt; &lt;p&gt;もちろん、VBAでクリップボードのクリアを行うコードは、APIを利用すれば可能なのですが、いちいち面倒な宣言をしないといけない&lt;br&gt;ので、こんな感じでクリアっぽいことができればそれでOKだろうと考えてみたのです。&lt;/p&gt; &lt;p&gt;このやり方で、マクロの実行をしExcelファイルの終了をすると、無事終了ができました。心持ち、終了速度も速くなった感じもしますが、&lt;/p&gt; &lt;p&gt;とりあえずこれでなんとかできたのではないかと思います。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;これ、Excel2003では発生していなかった現象なので、おそらくクリップボードの扱いが変わったせいなのかもしれませんね。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/mrt/aggbug/186179.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mr.T</dc:creator><title>ずっと嫁のターン（その４９）</title><link>http://blogs.wankuma.com/mrt/archive/2010/01/22/185230.aspx</link><pubDate>Fri, 22 Jan 2010 06:21:00 GMT</pubDate><guid>http://blogs.wankuma.com/mrt/archive/2010/01/22/185230.aspx</guid><wfw:comment>http://blogs.wankuma.com/mrt/comments/185230.aspx</wfw:comment><comments>http://blogs.wankuma.com/mrt/archive/2010/01/22/185230.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/mrt/comments/commentRss/185230.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/mrt/services/trackbacks/185230.aspx</trackback:ping><description>&lt;p&gt;Mr.Tです、こんにちは。  &lt;p&gt;私は既婚者です。ええ、嫁さんがいます。  &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;すっかりお久しぶりになってしまいましたが、今年も「嫁のターン」をよろしくお願いします。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;さて、我が家では、前回(&lt;a title="http://blogs.wankuma.com/mrt/archive/2009/08/25/180486.aspx" href="http://blogs.wankuma.com/mrt/archive/2009/08/25/180486.aspx"&gt;http://blogs.wankuma.com/mrt/archive/2009/08/25/180486.aspx&lt;/a&gt;)のように、子供はまだまだ羞恥心ってナーニ？ &lt;br&gt;という状態ですが、それでも「先に服を脱いで入って親を待つ」くらいのことができるようになってうれしい限りです。&lt;/p&gt; &lt;p&gt;で、その風呂の中。&lt;/p&gt; &lt;p&gt;嫁：「なぁ、最近、書いとるん？」&lt;/p&gt; &lt;p&gt;オレ：「あ、なに？」&lt;/p&gt; &lt;p&gt;嫁：「アタシのこと書いてるんやろ？」&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;それはつまり、ここのことか。ちょっとごぶさたしてるよなぁ。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;オレ：「最近、全然書いてないんや」&lt;/p&gt; &lt;p&gt;嫁：「わんくまスキー(*1)のときも、まったくその話とかなくて、アレ？と思ったんやけどな・・・」&lt;/p&gt; &lt;p&gt;それは、何かい。オレが、またアレやコレや書いてることを肴にされるってことかいな。&lt;/p&gt; &lt;p&gt;もうね、いったんバレちゃったら、怖くないんですよ。それと、なんだかパターンっていうか様式美になってくると、こっちも話のネタとしては&lt;/p&gt; &lt;p&gt;新鮮味がうすれたような気もするしな。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;オレ：「もうな、皆知ってることやから、そんな突っ込みいらんってことじゃね？」&lt;/p&gt; &lt;p&gt;嫁：「ふーん。で、なんで最近、書いてないん？」&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;スキーの飲み会でも触れられたけどな、それ。自分でもよくわからんけど、なんとなく「本を読むのが遊びの中心になる時期」、「ゲームを&lt;/p&gt; &lt;p&gt;するのが遊びの中心になる時期」、「Webで掲示板に書き込んだり文章を書いたりするのが遊びの中心になる時期」みたいなループが&lt;/p&gt; &lt;p&gt;あるんじゃないかなと思ってる。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;だから、今はその時期じゃないんだろうなって風にもおもうし、あとはな、やっぱり「慣れ」じゃろ。&lt;/p&gt; &lt;p&gt;毎回、毎回、orzな生活ばっかりじゃ疲れるねん。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;こんだけorzしとったら、慣れるねん。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;オレ：「ってことで、慣れじゃね？」&lt;/p&gt; &lt;p&gt;嫁：「・・・つまり、いじめ足りないってことかぁ」&lt;/p&gt; &lt;p&gt; オレ：「え」&lt;/p&gt; &lt;p&gt;嫁：「フヒヒ」&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;なんか怖いこといった！&lt;/p&gt; &lt;p&gt;ひどい、これ以上何をどうされるって話よ！ アンタ鬼じゃろ！ orz&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;*１ わんくま内で、有志をつのって毎年行ってるスキー旅行。楽しいよ&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/mrt/aggbug/185230.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mr.T</dc:creator><title>[VB.NET]隠れたCOSTという話</title><link>http://blogs.wankuma.com/mrt/archive/2009/10/07/181942.aspx</link><pubDate>Wed, 07 Oct 2009 11:23:00 GMT</pubDate><guid>http://blogs.wankuma.com/mrt/archive/2009/10/07/181942.aspx</guid><wfw:comment>http://blogs.wankuma.com/mrt/comments/181942.aspx</wfw:comment><comments>http://blogs.wankuma.com/mrt/archive/2009/10/07/181942.aspx#Feedback</comments><slash:comments>22</slash:comments><wfw:commentRss>http://blogs.wankuma.com/mrt/comments/commentRss/181942.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/mrt/services/trackbacks/181942.aspx</trackback:ping><description>&lt;p&gt;Mr.Tです、こんにちは。&lt;/p&gt; &lt;p&gt;元ネタは、&lt;a title="http://blogs.msdn.com/vbteam/archive/2009/10/06/hidden-costs-matt-gertz.aspx" href="http://blogs.msdn.com/vbteam/archive/2009/10/06/hidden-costs-matt-gertz.aspx"&gt;http://blogs.msdn.com/vbteam/archive/2009/10/06/hidden-costs-matt-gertz.aspx&lt;/a&gt;&lt;br&gt;# ほとんど、ネタに乗っかるだけの話なんで恐縮なんですけどね。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;VB6.0以前でも云われてきた話じゃないかと思ってたんですが、ループなどで、こういう処理を書いたとします。&lt;/p&gt; &lt;div class="SourceBox"&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Public&lt;/font&gt; MyList &lt;font color="blue"&gt;As&lt;/font&gt; List(Of &lt;font color="blue"&gt;String&lt;/font&gt;) = &lt;font color="blue"&gt;New&lt;/font&gt; List(Of &lt;font color="blue"&gt;String&lt;/font&gt;)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Sub&lt;/font&gt; Main()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Dim&lt;/font&gt; s &lt;font color="blue"&gt;As&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;New&lt;/font&gt; System.Text.StringBuilder&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;For&lt;/font&gt; i &lt;font color="blue"&gt;As&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Integer&lt;/font&gt; = &lt;font color="#c00040"&gt;0&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;To&lt;/font&gt; MyList.Count&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s.Append(MyList(i))&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Next&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;End&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Sub&lt;/font&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;このとき、MyList.Countは、ループのたびに評価される、というのが隠れたCostということみたいです。&lt;/p&gt; &lt;p&gt;で、ほんじゃどんだけ違うのだろうと、MSILコードを見るとこんな感じでした。&lt;/p&gt; &lt;p&gt;#Costがあるってなら、何か余計な処理&amp;amp;時間がかかる処理があるんだろうと思うので。  &lt;p&gt;&amp;nbsp; &lt;p&gt;.method public static void&amp;nbsp; Main() cil managed&lt;br&gt;{&lt;br&gt;&amp;nbsp; .entrypoint&lt;br&gt;&amp;nbsp; .custom instance void [mscorlib]System.STAThreadAttribute::.ctor() = ( 01 00 00 00 ) &lt;br&gt;&amp;nbsp; // コード サイズ&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 48 (0x30)&lt;br&gt;&amp;nbsp; .maxstack&amp;nbsp; 3&lt;br&gt;&amp;nbsp; .locals init ([0] class [mscorlib]System.Text.StringBuilder s,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [1] int32 i,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [2] int32 VB$t_i4$L0)&lt;br&gt;&amp;nbsp; IL_0000:&amp;nbsp; newobj&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; instance void [mscorlib]System.Text.StringBuilder::.ctor()&lt;br&gt;&amp;nbsp; IL_0005:&amp;nbsp; stloc.0&lt;br&gt;&amp;nbsp; IL_0006:&amp;nbsp; ldc.i4.0&lt;br&gt;&amp;nbsp; IL_0007:&amp;nbsp; ldsfld&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class [mscorlib]System.Collections.Generic.List`1&amp;lt;string&amp;gt; Sample.Module1::MyList&lt;br&gt;&amp;nbsp; IL_000c:&amp;nbsp; callvirt&amp;nbsp;&amp;nbsp; instance int32 class [mscorlib]System.Collections.Generic.List`1&amp;lt;string&amp;gt;::get_Count()&lt;br&gt;&lt;font color="#ff0000"&gt;&amp;nbsp; IL_0011:&amp;nbsp; stloc.2（※１）&lt;/font&gt;&lt;br&gt;&amp;nbsp; IL_0012:&amp;nbsp; stloc.1&lt;br&gt;&amp;nbsp; IL_0013:&amp;nbsp; br.s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_002b&lt;br&gt;&amp;nbsp; IL_0015:&amp;nbsp; ldloc.0&lt;br&gt;&amp;nbsp; IL_0016:&amp;nbsp; ldsfld&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class [mscorlib]System.Collections.Generic.List`1&amp;lt;string&amp;gt; Sample.Module1::MyList&lt;br&gt;&amp;nbsp; IL_001b:&amp;nbsp; ldloc.1&lt;br&gt;&amp;nbsp; IL_001c:&amp;nbsp; callvirt&amp;nbsp;&amp;nbsp; instance !0 class [mscorlib]System.Collections.Generic.List`1&amp;lt;string&amp;gt;::get_Item(int32)&lt;br&gt;&amp;nbsp; IL_0021:&amp;nbsp; callvirt&amp;nbsp;&amp;nbsp; instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string)&lt;br&gt;&amp;nbsp; IL_0026:&amp;nbsp; pop&lt;br&gt;&amp;nbsp; IL_0027:&amp;nbsp; ldloc.1&lt;br&gt;&amp;nbsp; IL_0028:&amp;nbsp; ldc.i4.1&lt;br&gt;&amp;nbsp; IL_0029:&amp;nbsp; add.ovf&lt;br&gt;&amp;nbsp; IL_002a:&amp;nbsp; stloc.1&lt;br&gt;&amp;nbsp; IL_002b:&amp;nbsp; ldloc.1&lt;br&gt;&amp;nbsp; IL_002c:&amp;nbsp; ldloc.2&lt;br&gt;&amp;nbsp; IL_002d:&amp;nbsp; ble.s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_0015&lt;br&gt;&amp;nbsp; IL_002f:&amp;nbsp; ret&lt;br&gt;} // end of method Module1::Main  &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;MyList.Coutを事前に求めておいたパターンで同じようにやってみました。&lt;/p&gt; &lt;div class="SourceBox"&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Public&lt;/font&gt; MyList &lt;font color="blue"&gt;As&lt;/font&gt; List(Of &lt;font color="blue"&gt;String&lt;/font&gt;) = &lt;font color="blue"&gt;New&lt;/font&gt; List(Of &lt;font color="blue"&gt;String&lt;/font&gt;)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Sub&lt;/font&gt; Main()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Dim&lt;/font&gt; s &lt;font color="blue"&gt;As&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;New&lt;/font&gt; System.Text.StringBuilder&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Dim&lt;/font&gt; count &lt;font color="blue"&gt;As&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Integer&lt;/font&gt; = MyList.Count&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;For&lt;/font&gt; i &lt;font color="blue"&gt;As&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Integer&lt;/font&gt; = &lt;font color="#c00040"&gt;0&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;To&lt;/font&gt; count&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s.Append(MyList(i))&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Next&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;End&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Sub&lt;/font&gt;&lt;br&gt;&amp;nbsp;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;.method public static void&amp;nbsp; Main() cil managed&lt;br&gt;{&lt;br&gt;&amp;nbsp; .entrypoint&lt;br&gt;&amp;nbsp; .custom instance void [mscorlib]System.STAThreadAttribute::.ctor() = ( 01 00 00 00 ) &lt;br&gt;&amp;nbsp; // コード サイズ&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 50 (0x32)&lt;br&gt;&amp;nbsp; .maxstack&amp;nbsp; 3&lt;br&gt;&amp;nbsp; .locals init ([0] int32 count,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [1] class [mscorlib]System.Text.StringBuilder s,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [2] int32 i,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [3] int32 VB$t_i4$L0)&lt;br&gt;&amp;nbsp; IL_0000:&amp;nbsp; newobj&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; instance void [mscorlib]System.Text.StringBuilder::.ctor()&lt;br&gt;&amp;nbsp; IL_0005:&amp;nbsp; stloc.1&lt;br&gt;&amp;nbsp; IL_0006:&amp;nbsp; ldsfld&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class [mscorlib]System.Collections.Generic.List`1&amp;lt;string&amp;gt; Sample.Module1::MyList&lt;br&gt;&amp;nbsp; IL_000b:&amp;nbsp; callvirt&amp;nbsp;&amp;nbsp; instance int32 class [mscorlib]System.Collections.Generic.List`1&amp;lt;string&amp;gt;::get_Count()&lt;br&gt;&lt;font color="#ff0000"&gt;&amp;nbsp; IL_0010:&amp;nbsp; stloc.0（※２）&lt;/font&gt;&lt;br&gt;&amp;nbsp; IL_0011:&amp;nbsp; ldc.i4.0&lt;br&gt;&amp;nbsp; IL_0012:&amp;nbsp; ldloc.0&lt;br&gt;&amp;nbsp; IL_0013:&amp;nbsp; stloc.3&lt;br&gt;&amp;nbsp; IL_0014:&amp;nbsp; stloc.2&lt;br&gt;&amp;nbsp; IL_0015:&amp;nbsp; br.s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_002d&lt;br&gt;&amp;nbsp; IL_0017:&amp;nbsp; ldloc.1&lt;br&gt;&amp;nbsp; IL_0018:&amp;nbsp; ldsfld&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class [mscorlib]System.Collections.Generic.List`1&amp;lt;string&amp;gt; Sample.Module1::MyList&lt;br&gt;&amp;nbsp; IL_001d:&amp;nbsp; ldloc.2&lt;br&gt;&amp;nbsp; IL_001e:&amp;nbsp; callvirt&amp;nbsp;&amp;nbsp; instance !0 class [mscorlib]System.Collections.Generic.List`1&amp;lt;string&amp;gt;::get_Item(int32)&lt;br&gt;&amp;nbsp; IL_0023:&amp;nbsp; callvirt&amp;nbsp;&amp;nbsp; instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string)&lt;br&gt;&amp;nbsp; IL_0028:&amp;nbsp; pop&lt;br&gt;&amp;nbsp; IL_0029:&amp;nbsp; ldloc.2&lt;br&gt;&amp;nbsp; IL_002a:&amp;nbsp; ldc.i4.1&lt;br&gt;&amp;nbsp; IL_002b:&amp;nbsp; add.ovf&lt;br&gt;&amp;nbsp; IL_002c:&amp;nbsp; stloc.2&lt;br&gt;&amp;nbsp; IL_002d:&amp;nbsp; ldloc.2&lt;br&gt;&amp;nbsp; IL_002e:&amp;nbsp; ldloc.3&lt;br&gt;&amp;nbsp; IL_002f:&amp;nbsp; ble.s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_0017&lt;br&gt;&amp;nbsp; IL_0031:&amp;nbsp; ret&lt;br&gt;} // end of method Module1::Main  &lt;p&gt;&amp;nbsp; &lt;p&gt;よくわからんのだけど、この※１と※２は、Countの戻り値を評価スタックとやらにPushしてるわけで、この値を比較対象と&lt;br&gt;してるんだと思ってるんですが、違うんですかね？  &lt;p&gt;この時点では、もうどちらもint32の値として利用されているから、Costなんてなさそうな感じがします。  &lt;p&gt;前段では、  &lt;p&gt;&amp;nbsp; IL_002d:&amp;nbsp; ble.s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_0015  &lt;p&gt;後段では、  &lt;p&gt;&amp;nbsp; IL_002f:&amp;nbsp; ble.s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_0017  &lt;p&gt;&amp;nbsp; &lt;p&gt;ここで、ループというか指定行に飛んでいくようになってます。つまり、これを見る限りは、Appendは毎回評価されている  &lt;p&gt;けど、Countは毎回なんぞ評価されていないように見えます。  &lt;p&gt;&amp;nbsp; &lt;p&gt;じゃあ、For Each使えばどうなのよ、ってことで、  &lt;div class="SourceBox"&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Public&lt;/font&gt; MyList &lt;font color="blue"&gt;As&lt;/font&gt; List(Of &lt;font color="blue"&gt;String&lt;/font&gt;) = &lt;font color="blue"&gt;New&lt;/font&gt; List(Of &lt;font color="blue"&gt;String&lt;/font&gt;)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Sub&lt;/font&gt; Main()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Dim&lt;/font&gt; s &lt;font color="blue"&gt;As&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;New&lt;/font&gt; System.Text.StringBuilder&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;For&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Each&lt;/font&gt; data &lt;font color="blue"&gt;As&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;String&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;In&lt;/font&gt; MyList&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s.Append(data)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Next&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;End&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Sub&lt;/font&gt;&amp;nbsp; &lt;/p&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;.method public static void&amp;nbsp; Main() cil managed&lt;br&gt;{&lt;br&gt;&amp;nbsp; .entrypoint&lt;br&gt;&amp;nbsp; .custom instance void [mscorlib]System.STAThreadAttribute::.ctor() = ( 01 00 00 00 ) &lt;br&gt;&amp;nbsp; // コード サイズ&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 61 (0x3d)&lt;br&gt;&amp;nbsp; .maxstack&amp;nbsp; 2&lt;br&gt;&amp;nbsp; .locals init ([0] class [mscorlib]System.Text.StringBuilder s,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [1] string data,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [2] valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator&amp;lt;string&amp;gt; VB$t_struct$L0)&lt;br&gt;&amp;nbsp; IL_0000:&amp;nbsp; newobj&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; instance void [mscorlib]System.Text.StringBuilder::.ctor()&lt;br&gt;&amp;nbsp; IL_0005:&amp;nbsp; stloc.0&lt;br&gt;&amp;nbsp; .try&lt;br&gt;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_0006:&amp;nbsp; ldsfld&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class [mscorlib]System.Collections.Generic.List`1&amp;lt;string&amp;gt; Sample.Module1::MyList&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_000b:&amp;nbsp; callvirt&amp;nbsp;&amp;nbsp; instance valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator&amp;lt;!0&amp;gt; class [mscorlib]System.Collections.Generic.List`1&amp;lt;string&amp;gt;::GetEnumerator()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_0010:&amp;nbsp; stloc.2&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_0011:&amp;nbsp; br.s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_0023&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_0013:&amp;nbsp; ldloca.s&amp;nbsp;&amp;nbsp; VB$t_struct$L0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_0015:&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; instance !0 valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator&amp;lt;string&amp;gt;::get_Current()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_001a:&amp;nbsp; stloc.1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_001b:&amp;nbsp; ldloc.0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_001c:&amp;nbsp; ldloc.1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_001d:&amp;nbsp; callvirt&amp;nbsp;&amp;nbsp; instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(string)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_0022:&amp;nbsp; pop&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_0023:&amp;nbsp; ldloca.s&amp;nbsp;&amp;nbsp; VB$t_struct$L0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_0025:&amp;nbsp; call&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; instance bool valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator&amp;lt;string&amp;gt;::MoveNext()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_002a:&amp;nbsp; brtrue.s&amp;nbsp;&amp;nbsp; IL_0013&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_002c:&amp;nbsp; leave.s&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_003c&lt;br&gt;&amp;nbsp; }&amp;nbsp; // end .try&lt;br&gt;&amp;nbsp; finally&lt;br&gt;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_002e:&amp;nbsp; ldloca.s&amp;nbsp;&amp;nbsp; VB$t_struct$L0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_0030:&amp;nbsp; constrained. valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator&amp;lt;string&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_0036:&amp;nbsp; callvirt&amp;nbsp;&amp;nbsp; instance void [mscorlib]System.IDisposable::Dispose()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_003b:&amp;nbsp; endfinally&lt;br&gt;&amp;nbsp; }&amp;nbsp; // end handler&lt;br&gt;&amp;nbsp; IL_003c:&amp;nbsp; ret&lt;br&gt;} // end of method Module1::Main  &lt;p&gt;まあ、このヘンになってくると比較にもならん結果になるので、パスw&lt;br&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;で、引用元の人は、こういうのは最悪だろって話をしてるんだけど、  &lt;div class="SourceBox"&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Public&lt;/font&gt; MyLameObjectHeader &lt;font color="blue"&gt;As&lt;/font&gt; MyLameObject = &lt;font color="blue"&gt;New&lt;/font&gt; MyLameObject&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Sub&lt;/font&gt; Main()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Dim&lt;/font&gt; s &lt;font color="blue"&gt;As&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;New&lt;/font&gt; System.Text.StringBuilder&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;For&lt;/font&gt; i &lt;font color="blue"&gt;As&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Integer&lt;/font&gt; = &lt;font color="#c00040"&gt;0&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;To&lt;/font&gt; MyLameObjectHeader.Count&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s.Append(MyLameObjectHeader.Item(i))&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Next&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;End&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Sub&lt;/font&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Public&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Class&lt;/font&gt; MyLameObject&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Public&lt;/font&gt; data &lt;font color="blue"&gt;As&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;String&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Public&lt;/font&gt; NextMLO &lt;font color="blue"&gt;As&lt;/font&gt; MyLameObject&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Public&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Sub&lt;/font&gt; Insert(&lt;font color="blue"&gt;ByVal&lt;/font&gt; mlo &lt;font color="blue"&gt;As&lt;/font&gt; MyLameObject)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;If&lt;/font&gt; NextMLO IsNot &lt;font color="blue"&gt;Nothing&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Then&lt;/font&gt;&lt;br&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; NextMLO = mlo&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Else&lt;/font&gt;&lt;br&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; mlo.NextMLO = NextMLO.NextMLO&lt;br&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; NextMLO.NextMLO = mlo&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;End&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;If&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;End&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Sub&lt;/font&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Public&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Function&lt;/font&gt; Count() &lt;font color="blue"&gt;As&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Integer&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Dim&lt;/font&gt; ct &lt;font color="blue"&gt;As&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Integer&lt;/font&gt; = &lt;font color="#c00040"&gt;0&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Dim&lt;/font&gt; current &lt;font color="blue"&gt;As&lt;/font&gt; MyLameObject = &lt;font color="blue"&gt;Me&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Do&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;While&lt;/font&gt; current IsNot &lt;font color="blue"&gt;Nothing&lt;/font&gt;&lt;br&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; ct += &lt;font color="#c00040"&gt;1&lt;/font&gt;&lt;br&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; current = current.NextMLO&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Loop&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Return&lt;/font&gt; ct&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;End&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Function&lt;/font&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Public&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Function&lt;/font&gt; Item(&lt;font color="blue"&gt;ByVal&lt;/font&gt; index &lt;font color="blue"&gt;As&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Integer&lt;/font&gt;) &lt;font color="blue"&gt;As&lt;/font&gt; MyLameObject&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;If&lt;/font&gt; index &amp;gt;= Count() &lt;font color="blue"&gt;OrElse&lt;/font&gt; index &amp;lt; &lt;font color="#c00040"&gt;0&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Then&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Return&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Nothing&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Dim&lt;/font&gt; current &lt;font color="blue"&gt;As&lt;/font&gt; MyLameObject = &lt;font color="blue"&gt;Me&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;For&lt;/font&gt; i &lt;font color="blue"&gt;As&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Integer&lt;/font&gt; = &lt;font color="#c00040"&gt;0&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;To&lt;/font&gt; index&lt;br&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; current = current.NextMLO&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Next&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Return&lt;/font&gt; current&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;End&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Function&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;End&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Class&lt;/font&gt; &lt;/p&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;MyLameObject.Countが毎回、ループで処理されるからひどいことになるよってことですな。せめてこうしろって話ですな。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="SourceBox"&gt;(Mainの変更後）  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Public&lt;/font&gt; MyLameObjectHeader &lt;font color="blue"&gt;As&lt;/font&gt; MyLameObject = &lt;font color="blue"&gt;New&lt;/font&gt; MyLameObject&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Sub&lt;/font&gt; Main()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Dim&lt;/font&gt; s &lt;font color="blue"&gt;As&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;New&lt;/font&gt; System.Text.StringBuilder&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Dim&lt;/font&gt; c &lt;font color="blue"&gt;As&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Integer&lt;/font&gt; = MyLameObjectHeader.Count&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;For&lt;/font&gt; i &lt;font color="blue"&gt;As&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Integer&lt;/font&gt; = &lt;font color="#c00040"&gt;0&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;To&lt;/font&gt; c&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s.Append(MyLameObjectHeader.Item(i))&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;Next&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;End&lt;/font&gt;&amp;nbsp;&lt;font color="blue"&gt;Sub&lt;/font&gt; &lt;/p&gt;&lt;/div&gt; &lt;p&gt;--Main部分 変更前&lt;/p&gt; &lt;p&gt;.method public static void&amp;nbsp; Main() cil managed&lt;br&gt;{&lt;br&gt;&amp;nbsp; .entrypoint&lt;br&gt;&amp;nbsp; .custom instance void [mscorlib]System.STAThreadAttribute::.ctor() = ( 01 00 00 00 ) &lt;br&gt;&amp;nbsp; // コード サイズ&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 48 (0x30)&lt;br&gt;&amp;nbsp; .maxstack&amp;nbsp; 3&lt;br&gt;&amp;nbsp; .locals init ([0] class [mscorlib]System.Text.StringBuilder s,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [1] int32 i,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [2] int32 VB$t_i4$L0)&lt;br&gt;&amp;nbsp; IL_0000:&amp;nbsp; newobj&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; instance void [mscorlib]System.Text.StringBuilder::.ctor()&lt;br&gt;&amp;nbsp; IL_0005:&amp;nbsp; stloc.0&lt;br&gt;&amp;nbsp; IL_0006:&amp;nbsp; ldc.i4.0&lt;br&gt;&amp;nbsp; IL_0007:&amp;nbsp; ldsfld&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class Sample.Module1/MyLameObject Sample.Module1::MyLameObjectHeader&lt;br&gt;&amp;nbsp; IL_000c:&amp;nbsp; callvirt&amp;nbsp;&amp;nbsp; instance int32 Sample.Module1/MyLameObject::Count()&lt;br&gt;&amp;nbsp; IL_0011:&amp;nbsp; stloc.2&lt;br&gt;&amp;nbsp; IL_0012:&amp;nbsp; stloc.1&lt;br&gt;&amp;nbsp; IL_0013:&amp;nbsp; br.s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_002b&lt;br&gt;&amp;nbsp; IL_0015:&amp;nbsp; ldloc.0&lt;br&gt;&amp;nbsp; IL_0016:&amp;nbsp; ldsfld&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class Sample.Module1/MyLameObject Sample.Module1::MyLameObjectHeader&lt;br&gt;&amp;nbsp; IL_001b:&amp;nbsp; ldloc.1&lt;br&gt;&amp;nbsp; IL_001c:&amp;nbsp; callvirt&amp;nbsp;&amp;nbsp; instance class Sample.Module1/MyLameObject Sample.Module1/MyLameObject::Item(int32)&lt;br&gt;&amp;nbsp; IL_0021:&amp;nbsp; callvirt&amp;nbsp;&amp;nbsp; instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(object)&lt;br&gt;&amp;nbsp; IL_0026:&amp;nbsp; pop&lt;br&gt;&amp;nbsp; IL_0027:&amp;nbsp; ldloc.1&lt;br&gt;&amp;nbsp; IL_0028:&amp;nbsp; ldc.i4.1&lt;br&gt;&amp;nbsp; IL_0029:&amp;nbsp; add.ovf&lt;br&gt;&amp;nbsp; IL_002a:&amp;nbsp; stloc.1&lt;br&gt;&amp;nbsp; IL_002b:&amp;nbsp; ldloc.1&lt;br&gt;&amp;nbsp; IL_002c:&amp;nbsp; ldloc.2&lt;br&gt;&amp;nbsp; IL_002d:&amp;nbsp; ble.s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_0015&lt;br&gt;&amp;nbsp; IL_002f:&amp;nbsp; ret&lt;br&gt;} // end of method Module1::Main  &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;--Main部分 変更後&lt;/p&gt; &lt;p&gt;.method public static void&amp;nbsp; Main() cil managed&lt;br&gt;{&lt;br&gt;&amp;nbsp; .entrypoint&lt;br&gt;&amp;nbsp; .custom instance void [mscorlib]System.STAThreadAttribute::.ctor() = ( 01 00 00 00 ) &lt;br&gt;&amp;nbsp; // コード サイズ&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 50 (0x32)&lt;br&gt;&amp;nbsp; .maxstack&amp;nbsp; 3&lt;br&gt;&amp;nbsp; .locals init ([0] int32 c,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [1] class [mscorlib]System.Text.StringBuilder s,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [2] int32 i,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [3] int32 VB$t_i4$L0)&lt;br&gt;&amp;nbsp; IL_0000:&amp;nbsp; newobj&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; instance void [mscorlib]System.Text.StringBuilder::.ctor()&lt;br&gt;&amp;nbsp; IL_0005:&amp;nbsp; stloc.1&lt;br&gt;&amp;nbsp; IL_0006:&amp;nbsp; ldsfld&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class Sample.Module1/MyLameObject Sample.Module1::MyLameObjectHeader&lt;br&gt;&amp;nbsp; IL_000b:&amp;nbsp; callvirt&amp;nbsp;&amp;nbsp; instance int32 Sample.Module1/MyLameObject::Count()&lt;br&gt;&amp;nbsp; IL_0010:&amp;nbsp; stloc.0&lt;br&gt;&amp;nbsp; IL_0011:&amp;nbsp; ldc.i4.0&lt;br&gt;&amp;nbsp; IL_0012:&amp;nbsp; ldloc.0&lt;br&gt;&amp;nbsp; IL_0013:&amp;nbsp; stloc.3&lt;br&gt;&amp;nbsp; IL_0014:&amp;nbsp; stloc.2&lt;br&gt;&amp;nbsp; IL_0015:&amp;nbsp; br.s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_002d&lt;br&gt;&amp;nbsp; IL_0017:&amp;nbsp; ldloc.1&lt;br&gt;&amp;nbsp; IL_0018:&amp;nbsp; ldsfld&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; class Sample.Module1/MyLameObject Sample.Module1::MyLameObjectHeader&lt;br&gt;&amp;nbsp; IL_001d:&amp;nbsp; ldloc.2&lt;br&gt;&amp;nbsp; IL_001e:&amp;nbsp; callvirt&amp;nbsp;&amp;nbsp; instance class Sample.Module1/MyLameObject Sample.Module1/MyLameObject::Item(int32)&lt;br&gt;&amp;nbsp; IL_0023:&amp;nbsp; callvirt&amp;nbsp;&amp;nbsp; instance class [mscorlib]System.Text.StringBuilder [mscorlib]System.Text.StringBuilder::Append(object)&lt;br&gt;&amp;nbsp; IL_0028:&amp;nbsp; pop&lt;br&gt;&amp;nbsp; IL_0029:&amp;nbsp; ldloc.2&lt;br&gt;&amp;nbsp; IL_002a:&amp;nbsp; ldc.i4.1&lt;br&gt;&amp;nbsp; IL_002b:&amp;nbsp; add.ovf&lt;br&gt;&amp;nbsp; IL_002c:&amp;nbsp; stloc.2&lt;br&gt;&amp;nbsp; IL_002d:&amp;nbsp; ldloc.2&lt;br&gt;&amp;nbsp; IL_002e:&amp;nbsp; ldloc.3&lt;br&gt;&amp;nbsp; IL_002f:&amp;nbsp; ble.s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IL_0017&lt;br&gt;&amp;nbsp; IL_0031:&amp;nbsp; ret&lt;br&gt;} // end of method Module1::Main  &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;クラス部分は変更してないから、同じだし。&lt;/p&gt; &lt;p&gt;それ以外だと、やっぱりContの部分なんですが・・・これって、やっぱりループごとに評価されているわけじゃないように&lt;br&gt;見えるんですが・・・&lt;/p&gt; &lt;p&gt;サルでもわかる説明とかないですかねw&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/mrt/aggbug/181942.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mr.T</dc:creator><title>共通テーブル式（ＣＴＥ）の使いどころ？</title><link>http://blogs.wankuma.com/mrt/archive/2009/09/10/181090.aspx</link><pubDate>Thu, 10 Sep 2009 18:09:00 GMT</pubDate><guid>http://blogs.wankuma.com/mrt/archive/2009/09/10/181090.aspx</guid><wfw:comment>http://blogs.wankuma.com/mrt/comments/181090.aspx</wfw:comment><comments>http://blogs.wankuma.com/mrt/archive/2009/09/10/181090.aspx#Feedback</comments><slash:comments>188</slash:comments><wfw:commentRss>http://blogs.wankuma.com/mrt/comments/commentRss/181090.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/mrt/services/trackbacks/181090.aspx</trackback:ping><description>&lt;p&gt;Mr.Tです、こんにちは。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Ognacさんのエントリで共通テーブル式（ＣＴＥ）のことをあげたら、こんなコメントが・・・&lt;/p&gt; &lt;p&gt;&lt;a title="http://blogs.wankuma.com/ognac/archive/2009/09/10/181052.aspx#181071" href="http://blogs.wankuma.com/ognac/archive/2009/09/10/181052.aspx#181071"&gt;http://blogs.wankuma.com/ognac/archive/2009/09/10/181052.aspx#181071&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;正直、どこをどう説明したらいいのかわかりませんが、もうめちゃくちゃ安易に使ってます。&lt;/p&gt; &lt;p&gt;#シビアなパフォーマンスを比較的求められないケースがほとんどなので、Indexは？とかそういうのは&lt;br&gt;#今のところあまり問題になってません。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;例えば、普通に二つのテーブルを外部結合してるＳＱＬがあったとします。&lt;/p&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;X名簿、Y名簿とも、ID,名前,苗字というフィールドのテーブルとして &lt;p&gt;select T1.[名前],T1.[苗字] from [X名簿] T1&lt;br&gt;left join [Y名簿] T2&lt;br&gt;on T1.ID = T2.ID&lt;br&gt;where T1.ID&amp;lt;100 &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;これに、Y名簿のIDが200未満という条件がついていたとすると、そのままかけば&lt;/p&gt; &lt;p&gt;select T1.[名前],T1.[苗字],T2.[結婚前苗字] from [X名簿] T1&lt;br&gt;left join (select * from [Y名簿] where ID&amp;lt;200) T2&lt;br&gt;on T1.ID = T2.ID&lt;br&gt;where ID&amp;lt;100 &lt;p&gt;&amp;nbsp; &lt;p&gt; こんな風になりますよね。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;私は、(select * from [Y名簿] where ID&amp;lt;200)の部分が長くなるのが非常に見難く感じるので、ここをざくっと&lt;/p&gt; &lt;p&gt;こうしちゃいます。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;with [Y名簿のID200未満] as (&lt;/p&gt; &lt;p&gt;select * from [Y名簿] where ID&amp;lt;200&lt;/p&gt; &lt;p&gt;)&lt;/p&gt; &lt;p&gt;select T1.[名前],T1.[苗字] from [X名簿] T1&lt;br&gt;left join [Y名簿のID200未満] T2&lt;br&gt;on T1.ID = T2.ID&lt;br&gt;where T1.ID&amp;lt;100 &lt;p&gt;&amp;nbsp; &lt;p&gt;withでくくるのは、複数かけるので、 &lt;p&gt;with テーブルA as () &lt;p&gt;.テーブルB as () &lt;p&gt;,・・・ &lt;p&gt;select * from テーブルA,テーブルB &lt;p&gt;みたいに、やってますね。 &lt;p&gt;SQLは大きくなるほど、ここで抽出してるのはどういうデータなのかを忘れちゃうので、 &lt;p&gt;こうやって名前付けて出しちゃうのは見た目で結構わかりやすいと個人的にはおもってます。 &lt;p&gt;&amp;nbsp; &lt;p&gt;他の人、CTEってどういうときにつかってるんだろ。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/mrt/aggbug/181090.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mr.T</dc:creator><title>バイオハザード4の個人的プレイ</title><link>http://blogs.wankuma.com/mrt/archive/2009/09/03/180822.aspx</link><pubDate>Thu, 03 Sep 2009 17:43:00 GMT</pubDate><guid>http://blogs.wankuma.com/mrt/archive/2009/09/03/180822.aspx</guid><wfw:comment>http://blogs.wankuma.com/mrt/comments/180822.aspx</wfw:comment><comments>http://blogs.wankuma.com/mrt/archive/2009/09/03/180822.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.wankuma.com/mrt/comments/commentRss/180822.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/mrt/services/trackbacks/180822.aspx</trackback:ping><description>&lt;p&gt;Mr.Tです、こんにちは。&lt;/p&gt; &lt;p&gt;バイオハザード4 マーセナリーズ PS2版のちょっとしたメモです。いまさら、という感はバリバリですが、まあいいです。&lt;/p&gt; &lt;p&gt;#本格的な攻略なら、それらしい動画がいっぱいあがってますし、それをみて覚えるなりなんなりしてもらったほうがいいです。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;まずは、レオンでやるべき。&lt;/p&gt; &lt;p&gt;→レオンは、武器としてはあまり強くないなので、こいつで6万点とれるようになれば、どれでもいける。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;弾の補給は、最低限でいい。&lt;/p&gt; &lt;p&gt;→弾薬が豊富にないと心もとないとか思っているとあっという間に、時間がきてしまう。自分の移動する場所にあれば拾うようにするべきで、&lt;/p&gt; &lt;p&gt;あまり戻って取るなどはしないほうがよい。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;チェーンを途切れさすな。&lt;/p&gt; &lt;p&gt;→あつめてドカーンがしたいなら、ハンドガンで空撃ちなんかもしてみるといい。音のするほうにやつらは来る。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;自分が動くルートをはっきり決める。&lt;/p&gt; &lt;p&gt;→6万点くらいなら、あるていど適当でもいけるんですが、やっぱりルートが決まっている方がいいです。行き当たりばったりでは、&lt;/p&gt; &lt;p&gt;なかなか難しい。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;ともかく、操作になれる。&lt;/p&gt; &lt;p&gt;→もう移動に時間がかかるとか、180ターンにもたつくとかないくらいに、したほうがいい。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;各個人を使ってみた上での雑感。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;レオン：&lt;/p&gt; &lt;p&gt;弱い弱いといいつつショットガンはやっぱり使いやすい。一撃よりも数撃をもって倒すことをメインに考えたら&lt;/p&gt; &lt;p&gt;そう悪いキャラではないと思う。&lt;/p&gt; &lt;p&gt;このキャラは、ハンドガンもそう悪くない。それは、蹴りのアクションが回りを巻き込むからだ。&lt;/p&gt; &lt;p&gt;もっとも、効率が悪いのでショットガンの方をよく使う。&lt;/p&gt; &lt;p&gt;体力は並み程度。&lt;/p&gt; &lt;p&gt;ヘッドショットを使えないとちょっと厳しい戦いが多いとは思う。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;レオンの場合、ハンドガンで体力削る、敵をひきつける、たるを壊すに利用。&lt;/p&gt; &lt;p&gt;ショットガンでひきつけて敵を転倒させる、で比較的近距離で、戦うのがベストだと思う。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;もちろん、ボスタイプは、数少ない焼夷弾や手榴弾を使うなどするのが楽。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;エイダ：&lt;/p&gt; &lt;p&gt;なにより足がはやい。これは大きい。それと焼夷弾をもっているので、囲まれても結構大丈夫。&lt;/p&gt; &lt;p&gt;焼夷弾は、速攻で燃えるので手榴弾よりも、タイムラグなく使える。閃光弾もあるけど、これでは直接敵を倒せない。&lt;/p&gt; &lt;p&gt;あと、マシンピストルは近距離から利用できるし、構える時間も短いので、すぐ撃てる。&lt;/p&gt; &lt;p&gt;もちろん、ライフルはボス以外は一撃なので、破壊力は申し分なし。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;ただし、足が速いとはいえ、近距離で相手を吹っ飛ばすことができないため、通常は近距離で戦うことはおすすめしない。&lt;/p&gt; &lt;p&gt;体力がひくいので、イエローになると途端に足がおそくなるので、さらにつかまりやすくなるという悪循環。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;クラウザー：&lt;/p&gt; &lt;p&gt;正直、使える人ならこれが一番最強じゃねーかと思う。&lt;/p&gt; &lt;p&gt;連射がやや遅いかもとは思うが、弓は上半身ならほぼ一撃でいける。弾の心配はしなくてもどんどん拾える。&lt;/p&gt; &lt;p&gt;体力もあるので、ちょっとやられても全然平気。&lt;/p&gt; &lt;p&gt;体術のキックはレオンよりも強い。&lt;/p&gt; &lt;p&gt;さらには、変身してからの直線攻撃。これが、発動中は無敵で、ボスを一撃で殺せるというクラス。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;ただ、慣れないと目の前に敵がいても弓が当てづらい。こればっかりは練習してすばやく当てるようにしないと一番使えない&lt;/p&gt; &lt;p&gt;人になってしまいます。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;ハンク：&lt;/p&gt; &lt;p&gt;マシンピストルと手榴弾がメインなのですが、チェーンソー女に限っては、ヘッドショット→体術の処刑で一撃で死ぬ。&lt;/p&gt; &lt;p&gt;手榴弾が遠距離メインで使うべきなので、敵の行動パターンを熟知しておき、なおかつ一箇所に敵をあつめるようにできれば&lt;/p&gt; &lt;p&gt;これほど楽チンなキャラはない。弾あつめも、そう問題はおきない。&lt;/p&gt; &lt;p&gt;手榴弾は爆発までにタイムラグがあるから、敵の手前に落とすのか、敵の背後に落とすのかでもやりようが違うので&lt;/p&gt; &lt;p&gt;結構むずかしい。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;足もそこそこ速いので、基本近距離以外であれば結構無敵。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;ウェスカー：&lt;/p&gt; &lt;p&gt;個人的には一番使いにくい人。&lt;/p&gt; &lt;p&gt;まず、足がけっこう遅い。ライフルとマグナムをもっているから楽とおもいきや、ライフルは弾がエイダほど手に入らないし、&lt;/p&gt; &lt;p&gt;手榴弾はハンクほど手に入らない。&lt;/p&gt; &lt;p&gt;マグナムは、強いが樽からしか入手できないし、敵が落とさないから使いどころに悩む（ボス的以外で使うのがためらいがでる）&lt;/p&gt; &lt;p&gt;閃光弾も多少ひろえるのだが、基本的な体術が遠くに弾き飛ばす掌底だと、巻き込める範囲がちょっと狭い。（飛んでいくのは楽しいが）&lt;/p&gt; &lt;p&gt;つまり、手榴弾しか広範囲攻撃できるものがない。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;なので、手榴弾、閃光弾、ライフル、マグナム、と4つの武器をうまく切り替えていかないといけなくて、すごく大変。特にライフルの弾が&lt;/p&gt; &lt;p&gt;おもったより出ないので、総合的に扱いづらいなと思っています。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/mrt/aggbug/180822.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mr.T</dc:creator><title>消火器の使いかたなど</title><link>http://blogs.wankuma.com/mrt/archive/2009/08/31/180695.aspx</link><pubDate>Mon, 31 Aug 2009 15:44:00 GMT</pubDate><guid>http://blogs.wankuma.com/mrt/archive/2009/08/31/180695.aspx</guid><wfw:comment>http://blogs.wankuma.com/mrt/comments/180695.aspx</wfw:comment><comments>http://blogs.wankuma.com/mrt/archive/2009/08/31/180695.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/mrt/comments/commentRss/180695.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/mrt/services/trackbacks/180695.aspx</trackback:ping><description>&lt;p&gt;Mr.Tです、こんにちは。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;　突然だけど、その流れで消火器の使い方ってそういえば、知らないもんなのねと思い、ちょっと簡単にまとめておくことにした。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;　会社においてある消火器は、通常、粉消火器ってやつが多い。&lt;/p&gt; &lt;p&gt;　これは、油などにも、普通の可燃物が燃えたときにも、電気系にもいちおうどれにも効果がある。マークを良く見れば、その消火器がどれに対応しているのかもちゃんと書いてある。&lt;/p&gt; &lt;p&gt;　粉消火器は、その名の通り白っぽい粉が噴出される。実際にやってみたことがある人ならわかるが、かなり室内ではもうもうと粉が巻き上がる。&lt;/p&gt; &lt;p&gt;　電気火災用にある、二酸化炭素消火器などは、気体を利用するわけだが、これはなぜ期待を使うのかといえば効用よりも機器の物損を避けるためであろう。実際、単純なボヤでも粉を懸けられた場合は、損害が結構ひどいと思われる。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;○前触れをするのは、非常に大事。&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;　火事の場合は、誰かに知らせて複数で対応するのが基本。一人では、あぶない。かならず、火事ぶれをすること。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;○消火器はその場までもっていくべし。&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;　消火器には引き抜き用のピンがあり、これを引き抜いて付属のホースを向けるて取ってを握って、消化を行うわけだけど、&lt;br&gt;当然、火元と消火器の置き場所は同じわけじゃない。といって、近くに持っていく間にピンを抜いちゃうと、間違えてその場で&lt;br&gt;レバーを握ってしまって、中身が噴出してしまうという状況になる。&lt;/p&gt; &lt;p&gt;　通常、消火器は、30秒前後しか噴出されないので、持っていくまでの間に中身が全部でてしまった、なんてことにならないように&lt;br&gt;近くまでもっていってから操作しましょう。&lt;br&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;○一本で消えるかもしれない、消えないかもしれない。&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;　消火器は一度レバーをひいたら、全部出てくるまで止まりません。でも、1本で消えないときは、次々とかけていきましょう。&lt;/p&gt; &lt;p&gt;一人だけで消火していると補充がきかないので、他の人にもってきてもらうのが一番よいです。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;○炎ではなく、燃えているものに向ける。&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;　消火器の射程範囲は10メートル弱だったと思うが、消火器から出てくる粉は、炎にかけても意味がない。&lt;/p&gt; &lt;p&gt;　粉消火器は、燃えているものに対して粉をかけて空気との接点をなくすことが重要だ。&lt;/p&gt; &lt;p&gt;　なので、炎にかけるのではなく、たいてい根元である燃えているものでないといつまでたっても消えない。&lt;/p&gt; &lt;p&gt;　ただし、家庭用の油が燃えた！という場合は、直接フライパン&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;○消火器だって、悪くなる。&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;　家庭用でミニサイズの消火器を買っていることもあるかもしれない。&lt;/p&gt; &lt;p&gt;　で、スプレータイプのようなものじゃなく、きちんとレバーを握って噴出するタイプの消火器は、たいていが外殻が金属です。&lt;/p&gt; &lt;p&gt;　金属は腐食しますし、経年劣化していきますから、10年も前の消火器は場合によっては、レバーをにぎったときに、内部のガスによって&lt;br&gt;破裂することもあります。注意しましょう。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;○消防署で消火器は売らないよ。&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;　商売の邪魔をするつもりはないですけど、「消防署のほうからきましたと」といって、消火器を売るのは違法すれすれです。&lt;br&gt;　それと最近、家につけろとかいわれてる、「煙感知器」も売らないです。&lt;/p&gt; &lt;p&gt;　消防署はモノ売らないですよ、ほんと。たまたま、消防署に関係のある人が窓口になるとかはあるかもですけど。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/mrt/aggbug/180695.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mr.T</dc:creator><title>ずっと嫁のターン（その４８）</title><link>http://blogs.wankuma.com/mrt/archive/2009/08/25/180486.aspx</link><pubDate>Tue, 25 Aug 2009 18:56:00 GMT</pubDate><guid>http://blogs.wankuma.com/mrt/archive/2009/08/25/180486.aspx</guid><wfw:comment>http://blogs.wankuma.com/mrt/comments/180486.aspx</wfw:comment><comments>http://blogs.wankuma.com/mrt/archive/2009/08/25/180486.aspx#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://blogs.wankuma.com/mrt/comments/commentRss/180486.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/mrt/services/trackbacks/180486.aspx</trackback:ping><description>&lt;p&gt;Mr.Tです、こんにちは。  &lt;p&gt;私は既婚者です。ええ、嫁さんがいます。 &lt;p&gt;&amp;nbsp; &lt;p&gt;わんくま勉強会でも言ってますが、嫁のターンは「私がくやしい」とか「orz」という気分になったときのもので、決して &lt;p&gt;のろけではありません。 &lt;p&gt;どうしてこのシリーズがのろけに見えるのか、僕にはさっぱりなのですが、一応書いておきます。 &lt;p&gt;&amp;nbsp; &lt;p&gt;で、ウチは、子供と嫁と一緒に風呂に入ります。今でもそうです。 &lt;p&gt;まあ、子供に羞恥心を教えないといけないので、そろそろ「パパと一緒に入りません」というルールを教えないといけないのですが、 &lt;p&gt;それは置いといて。 &lt;p&gt;&amp;nbsp; &lt;p&gt;うちの風呂は、そこそこ広く、室内乾燥機のカワック(&lt;a title="http://g-life.osakagas.co.jp/2-bath/0-heatingdryer/index.html" href="http://g-life.osakagas.co.jp/2-bath/0-heatingdryer/index.html"&gt;http://g-life.osakagas.co.jp/2-bath/0-heatingdryer/index.html&lt;/a&gt;)がついてます。 &lt;p&gt;そのせいか、風呂の中に、洗濯竿っぽい棒が、一本天井近くにわたしてあります。 &lt;p&gt;&amp;nbsp; &lt;p&gt;通常は、そこにタオルなどをかけておくのですが、そのタオルのかけ方でこの間、文句をいわれました。 &lt;p&gt;要は、「届かへん！」ということなのです。 &lt;p&gt;&amp;nbsp; &lt;p&gt;オレ：「とどくやろー、いくらなんでも」 &lt;p&gt;&lt;font color="#ff0000"&gt;嫁：「とどかへんのや！」&lt;/font&gt; &lt;p&gt;もちろん、下に腰をおろしたままでは届きません。私なら座ってもなんとかちょっと腰をあげるくらいで届きますが、 &lt;p&gt;普通に立ち上がれば届くはずです。 &lt;p&gt;&amp;nbsp; &lt;p&gt;にもかかわらず「届かない」というので、結局言い争いっぽくなってしまったのですが・・・ &lt;p&gt;確かに、嫁は150センチもないので、背が低いわけですが、実際に全く届かないわけではありません。ただ、タオルを &lt;p&gt;干そうとすると、タオルをえいやっと棒にまきつけるみたいにしないと干せません。その程度には身長がありません。 &lt;p&gt;それに、風呂のいすを使うのもいちいち出すのは面倒なのだ、と。 &lt;p&gt;それが大変だから、届かないと言っているということらしいのです。 &lt;p&gt;&amp;nbsp; &lt;p&gt;私の身長は178センチくらいですから、自分の背が高いとは他人と比べたら思いますが、なかなか嫁の背丈のことは &lt;p&gt;当たり前すぎて忘れてしまうことが多いです。 &lt;p&gt;「面倒だから、大変だから、って工夫してできることをしない嫁が怠慢だ」という見方もできなくはないです。 &lt;p&gt;極端に言えば、結局、お前が面倒だから、オレに負担を強いるのか、という見方でしょうか。 &lt;p&gt;#しかし、夫の役割は嫁の負担を一緒に持つことです。&lt;br&gt;#だから、それは私は、いいません。 &lt;p&gt;&amp;nbsp; &lt;p&gt;自分の目の高さでしか自分が物事を見れなくなっているような気がしてきて、ちょっと反省中。 &lt;p&gt;&amp;nbsp; &lt;p&gt;え？ &lt;p&gt;ええ、もちろん高いところは私の役目ですよ。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/mrt/aggbug/180486.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mr.T</dc:creator><title>わんくま大阪勉強会#31は、明後日！</title><link>http://blogs.wankuma.com/mrt/archive/2009/08/20/180346.aspx</link><pubDate>Thu, 20 Aug 2009 17:37:00 GMT</pubDate><guid>http://blogs.wankuma.com/mrt/archive/2009/08/20/180346.aspx</guid><wfw:comment>http://blogs.wankuma.com/mrt/comments/180346.aspx</wfw:comment><comments>http://blogs.wankuma.com/mrt/archive/2009/08/20/180346.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/mrt/comments/commentRss/180346.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/mrt/services/trackbacks/180346.aspx</trackback:ping><description>&lt;p&gt;Mr.Tです、こんにちは。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;多分、また受付＆司会をさせてもらえるかと思ってます。セッションは、朝10時すぎから開始なので、ゆっくりですよ。&lt;/p&gt; &lt;p&gt;みんな、きて！当日きてもOK！&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.wankuma.com/seminar/20090822osaka31/Default.aspx" href="http://www.wankuma.com/seminar/20090822osaka31/Default.aspx"&gt;http://www.wankuma.com/seminar/20090822osaka31/Default.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;まあ、表の目玉はセッションですけど、裏の目玉は、「ドラクエ」のすれ違い通信ですよ。&lt;/p&gt; &lt;p&gt;みんなDSを持って、おいでよ！&lt;/p&gt; &lt;p&gt;私とすれ違い！さあ、どんどん巻物を！&lt;/p&gt; &lt;p&gt;#残念ながら、私はまだ巻物一つもないですw&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/mrt/aggbug/180346.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>