前提・実現したいこと
C#で文字列補間と複合書式設定を使った幅の指定で,動的に変化させたいです。
発生している問題・エラーメッセージ
ユーザが入力した数値まで1ずつ増加させて表示して,その際に入力された数値の桁数によって表示する際の幅を決めたいのですが,変数が使えないため実現できません。
例:200と入力されたら,3桁分の幅をとって0~200まで表示
CS0150:定数値が必要です
変数を使用すると上記のエラーが表示されます。
該当のソースコード
変数numはユーザが入力して,入力された数値までfor文で表示させます。
この場合は4桁分で固定となっています。
C#
1for(int i = 0; i < num; i++){ 2 richTextBox1.AppendText($"{i,4:D}番目:"); 3}
この4の部分をなんとか入力された数値によって変化させたいのです。
試したこと
桁数を求めて返す関数を作りましたが,同じく定数を使うことを促すエラーが出ます。
C#
1richTextBox1.AppendText($"{i, test(num):D}番目:");
文字列補完ではなく string.Format を使ってはいけませんか?
> 同じく定数を使うことを促すエラーが出ます。
何がどのようなエラーメッセージを出しているか、正確に書いていただけないでしょうか?
聞かれたことに返事もしない。
すみません,エラーメッセージの追記を行いました。
また,どうしても文字列補間を利用したいのです。
定数を使えと言われてるところに定数以外を使うことができると思いますか?
そうは思っていませんが,まだ学んで日が浅いので何か対処方法があるのではないかと思っただけです。
string.formatであればこれは実現できるのでしょうか?
string.Format を使えば実現できます。F は大文字です。
ありがとうございます。その方向で考えます。
↓ これを読んでも分からなかったら聞いてください。
書式項目
https://docs.microsoft.com/ja-jp/dotnet/api/system.string.format?view=net-6.0#the-format-item
みなさんありがとうございました。
String.Formatで実現できました。
どのように解決したかをご自分で回答欄に書いてそれにマークを付けてこのスレッドはクローズしてください。
回答1件
あなたの回答
tips
プレビュー