
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
C# でメソッドに送られてきたObject引数の中身を、
その他(プログラミング・Web制作)
-
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
-
4
private static という変数の修飾
Java
-
5
【C#/Java?】try-catchでcatchせずにfinallyは一般的?
その他(プログラミング・Web制作)
-
6
C#で配列のフィールドを取得したい
その他(プログラミング・Web制作)
-
7
C# try-catch でcatchに飛ばす方法
C言語・C++・C#
-
8
C#単体テストで同クラス内の呼び出しメソッドをスタブ化する方法
C言語・C++・C#
-
9
C#の単体テストでローカル変数のインスタンス内関数を差し替える方法
C言語・C++・C#
-
10
C# DataGridView のヘッダーセル中央揃え
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ボタンの複数割り当てについて
-
Junitテストでvoid戻り値メッソ...
-
大量のデータを読み込んで表示...
-
java setterとgetterについて
-
[C#.net]スレッド化された別フ...
-
C#でキーイベントが発生しない...
-
【Java】画像表示が出来ない!
-
Androidでこのエラーを解決した...
-
C#からVC++DLLの呼び出しに失敗...
-
StrutsでJSPからListを受け取り...
-
JSPやサーブレットでSystem.out...
-
System.err. printlnとSystem.o...
-
eclipseに記述したjavaファイル...
-
System.out.printlnの出力先
-
javaで判別式のプログラミング...
-
JSPでImportエラーになります
-
EclipseでJava
-
プログラミングの問題です。大...
-
Java Struts ~に対するゲッタ...
-
Log4jで機能毎に別ファイルへ出...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
大量のデータを読み込んで表示...
-
C#で、あるクラスのメンバーす...
-
ボタンの複数割り当てについて
-
コンボボックスを使う時の警告
-
C# DataGridView列カスタマイズ
-
Junitテストでvoid戻り値メッソ...
-
C# 矢印キーの取得
-
C# WinForm のDataGridView Cel...
-
C#でのWNetAddConnection3の使...
-
C# visibleプロパティをfalseに...
-
GOF本のStrategyのJava版での質...
-
イメージボタンを作成したいの...
-
以下のコードのどこが問題なの...
-
Androidでこのエラーを解決した...
-
C#で、定数をフラグ(if文)に...
-
C# 親フォームで指定した値を...
-
Javaでウィンドウ作成について
-
負の数を取得するには?
-
Windowsのリソース作成について
-
javaの同期について
おすすめ情報