• ベストアンサー

[C#] string name = new ..

こんにちは。 string name; name = "sukeken"; これを、オブジェクト指向プログラミングらしく string name = new string("sukeken"); とするのは、ダメなのでしょうか? コンパイルは、許してくれないようなのですが…。 同じように、intもダメでしょうか? 環境 VisualStudio2012 C# よろしくお願いいたします。

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

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

C#では文字列そのものがstring型のオブジェクトなので、stringのコンストラクタにstringを指定するというのは完全に無駄なので、コンストラクタが用意されていないのだと思います。 どうしてもそのように書きたいのであれば、たとえば string name = new string("sukeken".ToCharArray()); と書くことは出来ますが、stringをいったんcharの配列に変換してstringにする、という非常に無駄な処理になります。 単純に string name = "sukeken"; がベストです。

sukeken
質問者

お礼

qwertfk さん 確か、Javaだとできたようなするので、やってみたところです。 ダメでしたけど。 >string name = "sukeken"; これが単純なのは十分わかります。 でも、クラスからインスタンスを作る…ってのが一番簡単に実感できるかな? なんて思ったものですから。 ありがとうございました。

その他の回答 (1)

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

>これを、オブジェクト指向プログラミングらしく >string name = new string("sukeken"); それのどこがオブジェクト指向プログラミングらしいのかはわかりませんが コンストラクタにString(String)がないのでダメです。

sukeken
質問者

お礼

wormhole さん コンストラクタ…なるほどです。 ありがとうございました。

関連するQ&A

専門家に質問してみよう