• ベストアンサー

.ToStringのありなし

VB2008を使っています。 Dim s As String '文字列型 s = WebBrowser1.DocumentText '------ (1) と s = WebBrowser1.DocumentText.ToString '------ (2) は、どちらが正しいのでしょうか? 厳密な違いも知りたいです。 (1)のサンプルも良く見かけますので・・・

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

  • ベストアンサー
回答No.1

私なら迷わず (1) ですが……。 仮定) WebBroser1 は System.Windows.Forms.WebBrowser 型とする WebBrowser.DocumentText プロパティは System.String 型 MSDN: WebBrowser.DocumentText プロパティ (System.Windows.Forms) http://msdn.microsoft.com/ja-jp/library/system.windows.forms.webbrowser.documenttext.aspx なので,(1) は System.String へ System.String を代入するのだから,特別問題はないことになります。 次に, MSDN: String.ToString メソッド (System) http://msdn.microsoft.com/ja-jp/library/8tc6ws5s.aspx により,System.String.ToString は自分自身を返します。 Function ToString () As Strnig  Return Me End Function という感じでしょうか。よって,(2) は (1) とまったく同じ結果であり,ToString 呼び出しは無駄です。

その他の回答 (1)

  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.2

補足です。 整数型(IntegerやShort)を 文字列方に変換し代入する場合にToStringメソッドを使用します。 dim s as String 'この場合VBでは自動型変換が行われています。 'C#では厳密な型変換が要求されるため、エラーになります。 s = 100 'この場合VBでは引数なしのメソッドの()の省略を許容しToStringメソッドを実行します。 'C#では引数の省略はできませんので、ToStringという書き方はエラーになります。 s = 100.ToString 'この場合はC#およびVBともにToStringメソッドが実行されます。 s = 100.ToString()

関連するQ&A