前提・実現したいこと
文字列の中に入っている数値を利用してループ処理を行いたい。
ここに質問の内容を詳しく書いてください。
発生している問題・エラーメッセージ
コード
該当のソースコード
C#
1 2 DataRow row = table.NewRow(); 3 4 //1ならtrue,0ならfalseを返すために用意している変数です。 5 row["OWNER_PRINT_FLG_1"] = "1"; 6 row["OWNER_PRINT_FLG_2"] = "1"; 7 row["OWNER_PRINT_FLG_3"] = "1"; 8 row["OWNER_PRINT_FLG_4"] = "0"; 9 row["OWNER_PRINT_FLG_5"] = "0"; 10 row["OWNER_PRINT_FLG_6"] = "0"; 11 row["OWNER_PRINT_FLG_7"] = "0"; 12 row["OWNER_PRINT_FLG_8"] = "1"; 13 row["OWNER_PRINT_FLG_9"] = "1"; 14 row["OWNER_PRINT_FLG_10"] = "1"; 15 16 row["ADDRESS_OF_OWNER_1"] = "ADDRESS_OF_OWNER_1"; 17 row["ADDRESS_OF_OWNER_2"] = "ADDRESS_OF_OWNER_2"; 18 row["ADDRESS_OF_OWNER_3"] = "ADDRESS_OF_OWNER_3"; 19 row["ADDRESS_OF_OWNER_4"] = "ADDRESS_OF_OWNER_4"; 20 row["ADDRESS_OF_OWNER_5"] = "ADDRESS_OF_OWNER_5"; 21 row["ADDRESS_OF_OWNER_6"] = "ADDRESS_OF_OWNER_6"; 22 row["ADDRESS_OF_OWNER_7"] = "ADDRESS_OF_OWNER_7"; 23 row["ADDRESS_OF_OWNER_8"] = "ADDRESS_OF_OWNER_8"; 24 row["ADDRESS_OF_OWNER_9"] = "ADDRESS_OF_OWNER_9"; 25 row["ADDRESS_OF_OWNER_10"] = "ADDRESS_OF_OWNER_10"; 26 27閲覧して頂きありがとうございます。 28初質問になります。至らない部分もあるかと思いますが、よろしくお願いいたします。 29 30現在、上記のdata row型の値にstring型の文字列「OWNER_PRINT_FLG_」と「ADDRESS_OF_OWNER_」があります。 31上記の数値1~10をfor文を使ってループし、1~10の値を順番に出力したいのですが 32実行をしても期待している実行結果が返ってきません。 33 34 35
試したこと```ここに言語を入力
for(int i = 1; i <= 10; i++)
{
string nameOfOwnerFlg = orgRow["OWNER_PRINT_FLG_" + i.ToString()].ToString();
//上記にあったフラグが1ならtrue,0ならfalseを返すメソッドです。
bool isNameOfOwnerChecked = GeneralFlg.IsOn(nameOfOwnerFlg);
dispRow["NAMEOFSHIPOWNER" + i.ToString()] = (isNameOfOwnerChecked) ? null : orgRow["NAME_OF_OWNER_" + i.ToString()];
}
まずfor文の一行目でorgRowの中のstring型とint型のiをstring型に変換し、orgRowをstring型に変換しています。 二行目でbool型の変数にtrue,falseの結果を代入します。 三行目で、二行目の値がtrueであればnullを falseであればNAME_OF_OWNER_にfor文のループの数値をstring型に変換したものを足して値を出そうと試みましたが 期待した結果が返ってきませんでした。 おそらくキャストがうまくいっていないため、うまくいかないのだと思うのですが 原因がわかる方がいらっしゃいましたら、ご教授して頂けないでしょうか。 よろしくお願いいたします。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。