質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
参照

参照は、プログラミングにおいて変数や関数といったメモリ空間上での所在を指示するデータのことを指します。その中にはデータ自体は含まれず、他の場所にある情報を間接的に指示するプログラムです。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

2回答

1065閲覧

参照の考え方を教えて欲しいです。

y0shida

総合スコア15

参照

参照は、プログラミングにおいて変数や関数といったメモリ空間上での所在を指示するデータのことを指します。その中にはデータ自体は含まれず、他の場所にある情報を間接的に指示するプログラムです。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2021/07/16 04:45

C#でプログラミングをしています。

今まで参照を下記画像のようにに考えていたいましたが
![画像1

参照という言葉だと
下記画像が正しいのかなと思いました、どちらが正しいでしょうか?
画像2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2021/07/16 04:52

どっちも正しくない。
退会済みユーザー

退会済みユーザー

2021/07/16 05:35

大文字 A, B の四角は何を表しているのでしょう? そして、何をしたいのでしょう? それを書くとあなたにとって有用な情報(何をしたいのかに対する解決案とか)が得られるかも。
fana

2021/07/16 06:09

図が謎すぎる
guest

回答2

0

ベストアンサー

参照は身近な例だと掲示板のレス番号とかですかね…?

===============
|No1 hogeさん
ばーか

|No2 fugaさん

1

そういうのはよくないよ

|No3 piyoさん
「ばーか」なんてやめなよ
===============

fugaさんの書き込みである>>1は、No1の書き込みを参照しています。(1番の書き込みっていう形でどこにあるデータかを参照しています)
piyoさんの書き込みである「ばーか」なんてやめなよ」は値そのものを抜き出しているので、参照ではないです。

あとは、よく話にでる「値渡し/参照渡し」とかを見ると分かりやすいですよ。

cs

1 string myMesseage = "めっちゃ好きやねん"; 2 3 void Start() { 4 5 ThinkingMessage(myMesseage); 6 Debug.Log(myMesseage); 7 // 結果→ めっちゃ好きやねん 8 9 ThinkingMessage(ref myMesseage); 10 Debug.Log(myMesseage); 11 // 結果→ お前なんて嫌いだ 12 } 13 14 void ThinkingMessage(string _msg) { 15 _msg = "お前なんて嫌いだ"; 16 } 17 18 void ThinkingMessage(ref string _msg) { 19 _msg = "お前なんて嫌いだ"; 20 }

前者が値渡しです。渡した告白文は値渡しなのでもとのデータに影響がありません。ちゃんと愛の告白ができました。

しかし、後者は参照渡しです。myMessage自体の参照を渡してしまっているのでメソッド内で改変ができてしまいます。よって、告白に失敗してしまいました。

投稿2021/07/16 06:41

編集2021/07/16 06:42
hogefugapiyo

総合スコア3302

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

どちらが正しいでしょうか?

両方間違ってる。

「C# 参照」でググればすぐわかる話。

投稿2021/07/16 04:55

gentaro

総合スコア8949

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問