C#の勉強したて(Cの知識もへっぽこ)なので、以下のことをしたいのに、
さっぱりやり方が分かりません。
教えて君みたいな質問ですが、心の大きい方、どうぞ教えてくださいませ。
★やりたいこと
他クラスのメンバー全部に値を入力し、かつそれを出力したい。
なお、他クラスのメンバーは数十個あるので、一つづつ代入&出力ではなく、
ループ文を使ったようなもので行えないかと模索中。
★例
//住所録ファイルの内容をコンソール出力するプログラム。
using System;
class Data_Format {
public string name;
public string address;
public string age;
}
class App{
public static void Read_Data(ref Data_Format obj){
obj.name = 略) テキストファイルの1行目から読込め
obj.address = 略) テキストファイルの2行目から読込め
obj.age = 略) テキストファイルの3行目から読込め
}
public static void Main() {
Data_Format ob = new Data_Format();
App.Read_Data(ref ob);
Console.WriteLine(ob.name);
Console.WriteLine(ob.adress);
Console.WriteLine(ob.age);
}
}
この例では
Mainメソッドで、
3個のオブジェクト(ob.name, ob.address, ob.age)の内容を出力させるのに、
Conosole.WriteLineの文を3個書いています。
さらに、Read_Dataメソッドで
3個のオブジェクト(ob.name, ob.address, ob.age)の値を入力するのに、
3行費やしています。
(↑ファイルの1行目から順番に読ませるので、効率化できる??)
しかし、実際に作りたいプログラムはメンバーが数十個あるので、
ループ文等を使えれば、効率よくなるのかな悪それでもいいのですが、
もっといい方があればご教授下さい。
No.2ベストアンサー
- 回答日時:
リフレクションを使えば動的に取得できます。
public class Data_Format
{
public string s1 = "1";
public string s2 = "2";
public string s3 = "3";
public string members()
{
string ret = "";
try
{
System.Reflection.FieldInfo[] fields = this.GetType().GetFields();
foreach(System.Reflection.FieldInfo f in fields)
{
ret += (string)f.GetValue(this) + "\n";
}
}
catch(Exception)
{
}
return ret;
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- Java java final 1 2022/06/10 22:49
- その他(プログラミング・Web制作) パイソン初心者です 4 2022/06/29 06:49
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
フルパスから最後のディレクトリ名を取得したい。
Visual Basic(VBA)
-
C# でメソッドに送られてきたObject引数の中身を、
その他(プログラミング・Web制作)
-
C言語で構造体のメンバを簡単に出力する方法ありますか?
C言語・C++・C#
-
-
4
インスタンス参照でアクセスできない。代わりに型名?
C言語・C++・C#
-
5
C#の改行について
その他(プログラミング・Web制作)
-
6
配列を使わずに、変数名を動的にループで回したい
C言語・C++・C#
-
7
visual studio でインデントを自動的に揃えるショートカットキー
その他(プログラミング・Web制作)
-
8
C#でbyte配列から画像を表示させたい
C言語・C++・C#
-
9
リストボックスで未選択の項目のvalue値を取得したい
Microsoft ASP
-
10
構造体のファイル出力
C言語・C++・C#
-
11
特定のプロジェクトを削除するには
Visual Basic(VBA)
-
12
ディスプレイ解像度より大きなフォームをデザインしたいのですが
Visual Basic(VBA)
-
13
Flexgridで選択行の列の値を取得したい
Visual Basic(VBA)
-
14
C# Process.Startメソッドで複数引数を渡したい
その他(プログラミング・Web制作)
-
15
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
16
C#のループでtextboxに値を入れる方法
C言語・C++・C#
-
17
ManagementClassが見つからない。
C言語・C++・C#
-
18
VBの「As String * 128」とは?
Visual Basic(VBA)
-
19
.txtではなく.logの方が良いのでしょうか?
その他(プログラミング・Web制作)
-
20
C#でオブジェクトの有無を取得する
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
大量のデータを読み込んで表示...
-
長方形を描いて、それを移動さ...
-
未割り当てのローカル変数
-
C#から、C++で作成したdll内の...
-
LVM_SETITEMSTATEでListViewの...
-
C#でキーイベントが発生しない...
-
【java】座標の値をテキストフ...
-
ボタンのイベントで異なるウィ...
-
メンバ変数の隠蔽
-
c# スレッド間でのデータの共有
-
二分探索木の要素の数を数える...
-
C#で、あるクラスのメンバーす...
-
Java 他クラスの呼び出しが上手...
-
unityでのC++エラーの原因がわ...
-
C言語のポインターに関する警告
-
配列にnullを代入すると、null...
-
IF関数でEmpty値を設定する方法。
-
javaで質問です。 文字列2023/2...
-
System.err. printlnとSystem.o...
-
C#で動的配列Listの中身をListB...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
大量のデータを読み込んで表示...
-
ボタンの複数割り当てについて
-
C#で、あるクラスのメンバーす...
-
Junitテストでvoid戻り値メッソ...
-
C#でのWNetAddConnection3の使...
-
C# 矢印キーの取得
-
Thread.sleepのInterruptedExce...
-
unityでのC++エラーの原因がわ...
-
C#で別のFormへ複数の値を返そ...
-
C# visibleプロパティをfalseに...
-
エンターキーを押すとOKボタン...
-
Processingでマウスクリックで...
-
C#でキーイベントが発生しない...
-
[C#.net]スレッド化された別フ...
-
C# DataGridView列カスタマイズ
-
【C#】ソースコードをファイル...
-
LVM_SETITEMSTATEでListViewの...
-
GetDIBits関数の使い方について
-
未割り当てのローカル変数
-
C# MouseHoverを何度も呼ぶには
おすすめ情報