質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

2回答

532閲覧

WriteLine(string) の中身の記述の違い

退会済みユーザー

退会済みユーザー

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2020/11/13 15:44

編集2020/11/14 04:58
for (int i = 1; i <= 9; i++) { Console.WriteLine(" {0}", 3 * i); }           
for (int i = 1; i <= 9; i++) { Console.WriteLine(3 * i); }

この2つは内容的には全くかわりませんがどちらを使った方がよいでしょうか

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2020/11/13 17:58

> この2つは内容的には全くかわりませんがどちらを使った方がよいでしょうか いいえ。上の一つ目は「Console.WriteLine(" {0}", 3 * i);」で出力される文字列の行頭にスペースが入りますので、下のものとは内容が異なります。ですので質問の前提が間違っています。
gentaro

2020/11/13 19:06

「consoleする」という言葉がまず通じない。 伝える気があるならもうちょっとちゃんとした日本語でどうぞ。
Zuishin

2020/11/13 23:00

同じではありませんが同じと仮定すると、このコードならどっちを使っても同じです。なぜなら同じだからです。 文字列補間を使うと書式指定もできるし記述がシンプルで保守性が良くなる傾向にあるので、そのようになる場面ならそのようにした方が良いでしょう。使わない方がパフォーマンスは高くなりますが、標準出力への出力は文字列補間とは比べ物にならなほど重い処理なので、差を感じることはないでしょう。それよりも問題は、言葉の扱いが雑なことです。どれが動詞かもわかっていないし、オブジェクトとメソッドの区別がついているかも怪しい。資料を流し読みしかしていないことが伝わります。したがってこの文も読めないでしょう。
退会済みユーザー

退会済みユーザー

2020/11/14 05:00

タイトルを変更させてもらいました。今一度勉強しなおしてみたいと思います。
guest

回答2

0

書き方はいろいろやり方がありますんで、あなたのお好きなようにすればいいかとおもいます

投稿2020/11/13 23:27

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/11/14 05:01

回答ありがとうございました
guest

0

ベストアンサー

この2つは内容的には全くかわりませんがどちらを使った方がよいでしょうか

内容は違うが出力は(ほぼ)同じ。が正確な気がします。

Console.WriteLine(3 * i);

暗黙に変換する処理が入って文字列が出力されます。

表記は一番簡潔で処理も軽い可能性があります。反面、出力の形式に融通がきかず、数字が一行に一つ表示されるだけで、なんの数字か後々わからなくなる可能性があります。

Console.WriteLine(" {0}", 3 * i);

Console.WriteLineの機能を使って整形した文字列を表示します。内部的にはstring.Formatと似た感じの処理になっていそう。

整形して出力しているので、Consoleへの出力としては今後使いやすそう。

で、もう1パターン。

Console.WriteLine($"{3 * i}")

これが本命じゃないかな?という気がします。
https://qiita.com/Nossa/items/c2226232b31d7665267f

感想:
ケースバイケースだと思います。

人が読むことを意図せず、数千行数字のみの出力を行うなら直接値を渡すのが良いし、
何らかのログや結果表示なら、数字のみでなく文字込みで整形を行って出力するのが良いと思います。

投稿2020/11/13 23:10

otolab

総合スコア767

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/11/14 05:01

回答ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問