C#について質問です。文字列型(string)は
参照型なのに値型と同じように振る舞うそうですが、それならどうして値型ではなく参照型だと分かるんですか?
そして何故参照型なのに値型のように振る舞うんですか?
具体的には
string a="あ";
string b=a;
string a="い";
console.writeline(b);
このように書くと「い」ではなく「あ」が出力されるようなのですが、どうしてなのかがわかりません。他の参照型のものと何か違うんですか?なるべく詳しく教えて下さい。
No.4ベストアンサー
- 回答日時:
>上から順番に命令が実行されて下の命令が上の命令に影響しないってことですか?
違います。
「どうして値型ではなく参照型だと分かるんですか?」との質問でしたが、動作だけを見ると値型です。
内部の見えないところで参照型の動きをしているのです。
string a="い"; としたときに "あ" への参照を外し、新しく用意確保した ”い” を参照する内部処理になっています。
>これはstringの場合だけですか?
stringの場合だけです
参考URL:
https://dobon.net/vb/dotnet/beginner/valuerefere …
No.3
- 回答日時:
No.1です
| 値型のようにコピーされるのに参照型なんですか?
はい。
「参照型なのに値型と同じように振る舞う」のです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- Excel(エクセル) セルを参照して条件で値をコピーする 3 2023/02/08 17:45
- Android VBA、フォルダのパスに環境文字 ㉑ があり、VBAが機能しません。 2 2022/07/27 09:16
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- PHP 空文字 "" ですが 空文字の意味を教えてください。 3 2022/08/05 03:51
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
- Excel(エクセル) エクセルの関数について教えてください 4 2023/05/19 12:04
- Visual Basic(VBA) Sub 分けてソートして貼り付ける() Dim srcSheet As Worksheet Dim 6 2023/08/04 19:57
- Excel(エクセル) Excel 表の作成について 3 2022/06/16 12:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ダブルクォーテーションを含む...
-
javaのCSVデータ読込についてです
-
実行シェルからCOBOLへパラメー...
-
JSPでの計算結果表示
-
VB.NET+Javascriptで、VB.NETで...
-
ArrayListの要素数の上限
-
wsprintf関数の使い方について
-
VB6,論理演算子Orの使い方がわ...
-
Javaの問題なのですが、「3文字...
-
hiddenの値を消したくない!
-
EL式でのbeansからの値取得につ...
-
BCD形式で時刻を!
-
バッファの要素を消去する
-
テキストファイルを読み込んで...
-
DateTimePickerに値を入れたい...
-
UINT64→UINT32[2]にする方法
-
特定の文字列を複数抜き出した...
-
C言語の変数(LSB)の合わせ込...
-
Stringクラスの変数の格納アド...
-
JSP内でfor文を使用し、出力結...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ダブルクォーテーションを含む...
-
ArrayListの要素数の上限
-
特定の文字列を複数抜き出した...
-
javaのCSVデータ読込についてです
-
wsprintf関数の使い方について
-
BCD形式で時刻を!
-
結合した文字列をファイル名に...
-
Evaluate()に文字列の形式の数...
-
C言語の変数(LSB)の合わせ込...
-
実行シェルからCOBOLへパラメー...
-
hiddenの値を消したくない!
-
VB6,論理演算子Orの使い方がわ...
-
DateTimePickerに値を入れたい...
-
char型での演算子
-
String str = "a\\\\b\\\\c";
-
Javaの問題なのですが、「3文字...
-
8桁整数を限りなく短い文字列に...
-
matchesを否定文として使う方法...
-
DOSバッチで変数の値を変数名に...
-
excel vba 時間計算と条件分岐...
おすすめ情報