質問するログイン新規登録

回答編集履歴

2

訂正

2017/06/05 05:44

投稿

KSwordOfHaste
KSwordOfHaste

スコア18404

answer CHANGED
@@ -1,3 +1,15 @@
1
+ 訂正:「オブジェクトか?」という点の記述が不適切でした。自分の回答は「box化がなくてもObjectの派生クラスとして実現されているか」という意味合いで話していますが、C#の言語仕様上box化されるかどうかは内部的な話であってChironianさんがおっしゃるように仕様上全てobjectの派生である」ということになります。失礼しました。
2
+
3
+ 下の回答でオブジェクトという用語を使っている箇所は参照型という意味合いで使っています。文章を書き換えると質問者さんの「オブジェクト」という用語とかけはなれた説明になってしまいますね。
4
+ すみませんが以下は元の回答のままとさせてください。
5
+
6
+ > 用語の使い方に若干混乱が...
7
+
8
+ なんていっておきながら自分の方がObjectの説明を間違えてしまいました。大変失礼しました。
9
+
10
+ 以下、元の回答
11
+ ---
12
+
1
13
  「変数」「オブジェクト」「インスタンス化」の用語の使い方に若干混乱が見られます。おそらくは「リテラル」「値」という用語を正しく使えることができればより意味の通る文章にできると思います。
2
14
 
3
15
  それはともかく・・・

1

ちょっと訂正

2017/06/05 05:44

投稿

KSwordOfHaste
KSwordOfHaste

スコア18404

answer CHANGED
@@ -6,6 +6,7 @@
6
6
  のように宣言と代入したときにできるstrは、"変数"なのでしょうか、それとも"オブジェクト"なのでしょうか?
7
7
 
8
8
  オブジェクトです。型がstringと宣言されているので変数strにはnullおよびstringクラスのインスタンス以外の「値」である可能性はありません。なお、これは変数宣言をしているからそうなるのではなく代入文の右辺の`"abc"`という記述そのものの意味が「stringクラスのオブジェクト」になります。
9
+ (質問文を文字通り読むと「変数です」という答えもあり得ますが、多分質問者さんは「どんな値になるか」を疑問に思っておられると思ったのでこういう回答にしています。)
9
10
 
10
11
  > 構文から考えると、intやdoubleのように変数であると考えられます。
11
12