• ベストアンサー

VisualStudioのインテリセンス

MessageBox関数を使うのにC#では初めてであったため、 MessageBox.show("テスト"); でコンパイルできずいろいろ考えてしまいました。 お察しの通りMessageBox.Show("テスト"); が正解なのですがShowのSが大文字でなく小文字のままで大文字に自動変換されなかったのはどのような原因が考えられるでしょうか。VisualStudioは2010です。 足りない説明があったらご指摘いただけると幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • qwertfk
  • ベストアンサー率67% (55/81)
回答No.2

インテリセンスがアクティブの状態で messagebox.show( と入力すると、確かにVC#2010の標準設定では自動的に MessageBox.Show( と修正してくれるのが正常です。 ですが、この挙動はVBとは異なり、あくまでインテリセンスから入力候補を選択する、という作業を利用者が意図して行う必要があります。 たとえば、 messagebox. → escを押す → show( のように入力を行うと、MessageBoxは入力候補を指示したことになりますが、escを押した段階でインテリセンスがオフになるので、showについては入力した文字列がそのまま残ります。 インテリセンスを使用する場合は、入力候補がアクティブが確認する必要があります。 また、入力候補が機能していない場合はCtrl+Spaceで有効化できます。 たとえば、 messagebox. → escを押す → show → Ctrl+Spaceを押す とすると、showをShowに自動で修正してくれることを確認できると思います。 これはスペルが修正されたのではなく、MessageBoxのメンバから、大文字、小文字無視で先頭が"show"一致するメンバがひとつしかないため、それが選択される、という挙動です。 したがって、 messagebox. → s → Ctrl+Space だけでも MessageBox.Show と入力できます。

その他の回答 (1)

  • hitomura
  • ベストアンサー率48% (325/664)
回答No.1

VB.NET ではどうだか知りませんが、 C# は名前の大文字・小文字を区別します。したがって、名前の大文字・小文字を勝手に変換されては困ります。

関連するQ&A