0

csv ファイルを受け取ってコンソールに表示する c# コードをいくつか書きました。string.format を使用して見出しと列データの両方を揃えましたが、列にデータの文字列が 1 つあり、文字列がアライメントの問題を引き起こす残り。テキストを折り返すか、「ボート名」という名前の列に文字制限を追加できるかどうかを誰かに教えてもらえますか

現在の string.Format for DisplayMembers() を変数に入れて、これに制限 (0, 12) を追加しようとしましたが、失敗しました。

   public static void DisplayHeadings()
    {
        Console.WriteLine(string.Format("{0,-4} {1,-7} {2,-10} {3,-8} {4,-20} {5,-8} {6,-10} {7,-6} {8,-6} {9, -9} {10, -5}"
            , "Pos", "BoatID", "Waterway", "Reg No", "Boat Name", "Length", "Homewater", "Beam", "Year", "Prop Pwr", "Prop"));
    }
    //string limit5 = "The quick brown fox jumped over the lazy dog.".LimitLength(5);


    public static void DisplayMembers()
    {
        position = 1;

        foreach (var boat in boats)
        {

            Console.WriteLine(string.Format("{0,-4} {1,-7} {2,-10} {3,-8} {4,-20} {5,-8} {6,-10} {7,-6} {8,-6} {9, -9} {10, -5}",
                position,
                boat.BoatId,
                boat.Waterway,
                boat.RegNo,
                boat.BoatName,
                boat.BoatLength,
                boat.HomeWaterway,
                boat.BoatBeam,
                boat.Year,
                boat.PropulsionPower,
                boat.Propulsion));
            position++;

// これはすべて機能し、希望どおりに配置されますが、boat.BoatName には約 30 文字のレコードが 1 つあり、他のレコードは約 10 ~ 12 文字です。

Boat.BoatName の文字数を 15 文字程度に制限する

4

1 に答える 1