PCだい「ちゅき」

気がつけば庶事手伝い

目次

Blog 利用状況

ニュース

・H24/01/02
 Microsoft MVPを受賞しました
・H23/11/18
 MCTの憂鬱さんと相互リンクを張っていただきました^^
・H23/09/10
 プログラミング生放送でスピーカーさせていただきました^^ ・H22/12/18
 わんくま同盟でスピーカしました^^
さて、来年はどんな年になるかな。予想が当たるといいなぁ。
・H22/07/17
 わんくま同盟でスピーカしました^^
技術系のセッションは久しぶり。VB! VB!
・H22/03/13
 Tech FieldersでLTのスピーカしました^^
・H21/12/12
 わんくま同盟でスピーカしました^^
最近はずっとLT担当だったので、ちょっと新鮮でした^^
・H20/11/18
 Tech Fielders セミナー 大阪の
 Lightning Talkで優勝しました^^
・H20/8/23
 わんくま同盟で2回目のスピーカしちゃいました
 WCFと戯れてみました^^
・H20/5/17
 わんくま同盟でスピーカしちゃいました^^
 ちゃんとスピーカー持参しましたよんw
・H20/2/22
 なめ猫の参加証もらいました^^
・H20/1/22
 テンプレートを変えてみました^^
・H19/7/23
 ACEプログラムで、ナップサックをもらった上、工具セットももらえることになりました^^
・H19/1/11
 1が並ぶ縁起の良い日に投稿開始!。今後ともお付き合いよろしくお願いします
・H18/10/29
 参加させていただきました^^
ド・初心者ですがどうぞよろしくお願いします。

↓うーん、仕事しろ^^;
Chukiの脳内メーター

Chukiの脳内メーター

書庫

日記カテゴリ

ギャラリ

コミュニティ

相互リンク

【VB Love】disられるの覚悟で、szHoge.Equlas も "=" も止めて>< レッツ String.Compare()

元ネタ(我ながらクドい)
【VB Love】比較と代入……、イジめんなエラい人^^;

えムナウ師匠に、VBerはEqaulsが多いとの指摘がありました。それは、こういうクソCodeが蔓延してたからだと^^;
さすがに予めNothingをわざと入れてる状況は少ないのですが、VBerなら犯る(というかよく見るw)

【クソコードの例】

        Dim szTest As String = Nothing
        Console.WriteLine(szTest = "")
        Console.WriteLine(szTest = Nothing)

【結果】
True
True

ということで、Stringの比較はString.Compareを押したい今日このごろ

【すこしはマシかな^^;】

        Dim szTest As String = Nothing
        Console.WriteLine(String.Compare(szTest, ""))
        Console.WriteLine(String.Compare(szTest, Nothing))

【結果】
-1
0

【クソコードここに極まれり】微妙に笑えない現実にハイレベルな愛を感じる。もう犯ってみるしかない、という廃な...

        Try
            Dim szTest As String = Nothing
            Console.WriteLine(szTest.Equals(""))
            Console.WriteLine(szTest.Equals(Nothing))
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
【結果】 orn

オブジェクト参照がオブジェクト インスタンスに設定されていません。

Nothingと比較する文化、さすがに減ってきましたけれどね^^;

投稿日時 : 2009年4月20日 22:18

Feedback

# re: 【VB Love】disられるの覚悟で、szHoge.Equlas も "=" も止めて>< レッツ String.Compare() 2009/04/20 22:53 Ognac

外れたコメントなんですが、VBは
Dim i As Integer = Nothing
Dim dt As DateTime = Nothing
が許される仕様っていうのも、汚なくなる要因でしょうね。
default(T) が適用できるほうがヨサゲ。

# re: 【VB Love】disられるの覚悟で、szHoge.Equlas も "=" も止めて>< レッツ String.Compare() 2009/04/21 10:51 とっちゃん

文字列オブジェクトが空文字列を指しているか、インスタンスがないのチェックなら

String.IsNullOrEmpty

でよろしくー

タイトル
名前
Url
コメント