![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
開発環境はMicrofoft visual stdio 2005 で開発言語はC#を使い、Windousアプリケーションでプログラミングしているのですが
クラスのオブジェクトを代入すると、値渡しをしたいのに参照渡しになってしまい困っています。
ソースコードで説明すると
class Car
{
public int a;
}
Car bike = new Car();
Car bike_a = new Car();
Car bike_b = new Car();
bike_a = bike;
bike_b = bike;
bike_a.a = 10;
bike_b.a = 20;
この場合の出力結果(?)を
bike_a.a = 10
にしたいのです。
構造体を使う方法もあるのですが、このクラスは拡張したいので、できればクラスで使いたいのです。
なにかこの問題を解決するような方法はないでしょうか?
ちょと抽象的な質問で申し訳ないのですが、よければ御回答をお願いします。
No.1ベストアンサー
- 回答日時:
(C#の)オブジェクトは参照渡しなので、コピーはそのオブジェクトのメソッドを利用するというのが正しい作法。
C#だと、ICloneableインターフェイスのCloneメソッドを実装するのが良いデザインでしょう。
参考URLのところによると、Object.MemberwiseClone()なるメソッドが存在しているようですので、これを使って実装するのが便利そうですね。
参考URL:http://www.atmarkit.co.jp/fdotnet/csharp_abc/csh …
おお!
こんな関数があったのですね!
まだプログラミングを初めたばかりなので、いろいろ新鮮な事が学べました^^。
親切な御回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 recently の語法 6 2022/05/28 08:13
- 英語 【 論・表 助動詞 】 問題 ※写真の 3) 私の解答 When you ride a bike , 3 2022/06/19 18:41
- 中学校 あなたはバスで通学していますかそれとも自転車ですか の英文の訳は whichi do you go 1 2023/03/09 11:44
- バイク車検・修理・メンテナンス この原付スズキレッツ4 CA41A 2007年式(オレンジ色のやつ) https://www.web 1 2023/05/09 04:18
- 英語 英語についてです。 I like riding a bike very much. という文は文法的 1 2022/04/16 22:28
- 英語 英語についてです。 If we use a train, we can go there faste 1 2022/04/16 22:26
- 英語 "unable"の否定の影響範囲について 2 2022/08/15 11:15
- 英語 「手に汗握る」の英語 8 2022/10/14 07:21
- 英語 私の車は、購入してから7年目になるが、これまでに車検を3回受けた。の英訳 11 2022/06/13 03:39
- 英語 英語5文型の分け方についてです The national business travel assoc 3 2022/12/03 19:51
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
【C#】ハッシュテーブル(連想配列)の値が配列の場合について
C言語・C++・C#
-
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
C#にて別クラスの関数を使いたい
C言語・C++・C#
-
-
4
別のフォームで記述している関数を実行するには?C#
C言語・C++・C#
-
5
CellEnterイベント仕様について
Visual Basic(VBA)
-
6
インスタンス参照でアクセスできない。代わりに型名?
C言語・C++・C#
-
7
SELECTで1件のみ取得するには?
Oracle
-
8
DataTableに入っているデータを全てinsertしたい!(C#)
Microsoft ASP
-
9
【C#】別フォームも同時に閉じるには?
C言語・C++・C#
-
10
配列を使わずに、変数名を動的にループで回したい
C言語・C++・C#
-
11
関数内の変数に<summary>コメントを付けたい
C言語・C++・C#
-
12
DataGrdViewに関連付けたデータの更新
C言語・C++・C#
-
13
C# DataGridView のヘッダーセル中央揃え
C言語・C++・C#
-
14
大量のデータを読み込んで表示する速度を改善したい
C言語・C++・C#
-
15
<a href=#" …>の意味を教えてください。"
HTML・CSS
-
16
C#で実行時にメソッドの返り値の型を変化させる
C言語・C++・C#
-
17
DataGridViewでセルクリックイベントを発生させるには
Visual Basic(VBA)
-
18
C#で構造体の配列を持った構造体を使いたいのですが
C言語・C++・C#
-
19
フルパスから最後のディレクトリ名を取得したい。
Visual Basic(VBA)
-
20
【C#】 あるイベントから別イベントを呼び出す。
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サーブレットコンテキストの意...
-
VB.netでメソッドからコントロ...
-
エクセルVBA 画像を貼り付ける...
-
servletからjspへオブジェクト...
-
JSPでのArrayListの表示につい...
-
PrintFormを使用してのプリント
-
C#のクラスで値渡しをする
-
Javaでブラウザ判定
-
C#で親にイベントを投げる方法
-
SocketでXMLオブジェクトを送信...
-
VB.NETでのnothing の意義について
-
getParameter()について
-
ADOのRecordSet.Openの引数につ...
-
System.Collections.SortedList
-
エクセルVBA/SpecialCellsで特...
-
VBAでの[]
-
VBS でのソート処理Excel2003
-
Vba ListViewの行挿入に関して...
-
Excel VBA 定数にオブジェクト...
-
インスタンス参照でアクセスで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
servletからjspへオブジェクト...
-
VBAでの[]
-
サーブレットコンテキストの意...
-
エクセルVBA 画像を貼り付ける...
-
JSPでのArrayListの表示につい...
-
C#のクラスで値渡しをする
-
VB.netでメソッドからコントロ...
-
Excel VBA 定数にオブジェクト...
-
Vba ListViewの行挿入に関して...
-
javaで、、、
-
Dispose()は、どんな時に使うの...
-
VB.NETでのnothing の意義について
-
getParameter()について
-
String型からlong型への変換は...
-
JTableで値を右寄せ表示する方法
-
C#で親にイベントを投げる方法
-
Javaでブラウザ判定
-
VBスクリプトでテキストファイ...
-
PrintFormを使用してのプリント
-
UTF-8のテキストファイルを開く...
おすすめ情報