レシピ083 配列を作成する

意外と健闘していると思う。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            レシピ083配列を作成する3_1_Array();
            レシピ083配列を作成する3_1_List();
            //レシピ083配列を作成する3_2はレシピ083配列を作成する3_3と同じ
            レシピ083配列を作成する3_3_Array();
            レシピ083配列を作成する3_3_List();
            レシピ083配列を作成する4_1_List();
            レシピ083配列を作成する4_2_ReadLine();
            レシピ083配列を作成する4_2_ReadToEnd();
            //レシピ083配列を作成する5はレシピ083配列を作成する4_2_ReadToEndに含む
        }

        private static void レシピ083配列を作成する3_1_Array()
        {
            var book = new[] { "title", "author", "publisher" };

            Array.ForEach(book, x => Console.WriteLine(x));
        }

        private static void レシピ083配列を作成する3_1_List()
        {
            var book = new List<string> { "title", "author", "publisher" };

            book.ForEach(x => Console.WriteLine(x));
        }

        private static void レシピ083配列を作成する3_3_Array()
        {
            var book = "book title:author:publisher".Split(':');

            Array.ForEach(book, x => Console.WriteLine(x));
        }

        private static void レシピ083配列を作成する3_3_List()
        {
            var book = "book title:author:publisher".Split(':').ToList();

            book.ForEach(x => Console.WriteLine(x));
        }

        private static void レシピ083配列を作成する4_1_List()
        {
            var records = new List<string>();
            records.Add("title");
            records.Add("author");
            records.Add("publisher");

            records.ForEach(x => Console.WriteLine(x));
        }

        private static void レシピ083配列を作成する4_2_ReadLine()
        {
            using (var file = new System.IO.StreamReader("data.txt"))
            {
                var buf = new List<string>();
                while (!file.EndOfStream)
                {
                    buf.Add(file.ReadLine());
                }

                buf.ForEach(x => Console.WriteLine(x));
            }
        }

        private static void レシピ083配列を作成する4_2_ReadToEnd()
        {
            using (var file = new System.IO.StreamReader("data.txt"))
            {
                var buf = file.ReadToEnd().Split().ToList();
                buf.RemoveAll(line => line.Length == 0);

                buf.ForEach(x => Console.WriteLine(x));
            }
        }

        private static void レシピ083配列を作成する4_2_没案()
        {
            using (var file = new System.IO.StreamReader("data.txt"))
            {
                var buf = new List<string>();
                var array = file.ReadToEnd().Split(new[] { '\r', '\n' });
                Array.ForEach(array, line => { if (line.Length > 0) buf.Add(line); });

                buf.ForEach(x => Console.WriteLine(x));
            }
        }
    }
}