[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 10535] Re: SJC-P 対策で



(株)ネットジーンの村山です.

>   高橋(智)です。C#だとこうなります。親切ですね。(^^)
まあ珍しいことに.

ただ,こうい「便利な機能」を見ると,いつものようにその影には何か
巨大な落とし穴があるのではないかと,多少不安にはなります.

以下は,思いつきの言いがかりみたいなもんですが,
> -----------------------------------------------------------------------
>    bool boolean = true;
#こんなとこで「独自拡張」に拘らんでも....(^^;

>     if(boolean = false) {
>       System.Console.WriteLine(1);
>     }
> -----------------------------------------------------------------------
> c.cs(4,8): warning CS0665: 条件式の割り当ては常に定数です。== を使用する
>                            つもりで = を使用しましたか?
ここでは「=を使うこと」ではなく,「定数であること」に対して警告を出してるん
でしょうか?少なくとも日本語部分だけだとそう解釈できると思います.

もしそうだとすると,
-------------
bool boolean = false;// デバッグOFF
// bool boolean = true;// デバッグON

if( boolean ){
  デバッグ用のログ出力等;
}
-------------
なんて書き方をあちこちですると,警告がウジャウジャ出てきたりするんでしょうか.

逆に
-------------
if( boolean = hoge.isTrue() ){
   // boolean == hoge.isTrue()の時の処理
}
else{
   // boolean != hoge.isTrue()の時の処理
}
-------------
のような場合だと警告が出ないとか.

まあ,こっちはこっちで,親切に別の警告を出してくれるという
可能性もありますが,実際はどうなんでしょう.

#と言いつつ,実はなんかすごく間抜けなことを書いてたりして.f(^^;
#言語仕様の詳細になると,かなり怪しかったりするから.