インデックス0ベースは0以上で引数リストのサイズよりも小さくなければなりません
C#で文字列を扱う際に多用するエラーです。String.Format は 0 からスタートします。
直感的かつ簡潔な書き方になりました。
今までのコードも全部リファクタリングしたいくらいですね!
String.Format メソッド
C# の String.Format メソッドは、文字列を整形したい時に多用するメソッドです。しかし、これは見た目で間違いに気づかない場合もあり、また、ミスっていても実行時までエラーに気づかないという欠点がありました。int len = 50; // これは例外。 string hoge = string.Format("名前は{1}文字以内で入力してください。", len); // インデックスは 0 からスタート。 string hoge2 = string.Format("名前は{0}文字以内で入力してください。", len);
C#6.0の文字列補完
C# 6.0 となり、ようやくこれが改善されました。int len = 50; // C#6.0からはこう書けます。 string hoge2 = $"名前は{len}文字以内で入力してください。";
直感的かつ簡潔な書き方になりました。
今までのコードも全部リファクタリングしたいくらいですね!