ArrayList

Windows 10 で TextFile を改行コードで切り分けて ArrayList に格納します。

前田稔の超初心者のプログラム入門

プログラムの説明

  1. C# の ArrayList は List 型の配列で、要素の「追加/挿入/削除」が簡単に出来るようになっています。
    配列では手に余るとき ArrayList がお勧めで、int にも string にも使えます。
    TextFile(C:\data\test\utf8.txt) を改行コードで切り分けて ArrayList に格納する関数を作成します。
    コンソールモードでは、自由にHD(ハードディスク)からファイルを入力できるようです。
  2. Visual Studio を起動して新規作成から [コンソールアプリ(.NET Core)] を選びます。
    コンパイルして実行するとコンソール画面に "Hello World!" が印字されます。
  3. Program.cs を修正して TextFile から文字列を入力して印字します。
    Main から Read() 関数を呼び出して ArrayList array を取得して印字します。
    Read() 関数ではファイルから文字列を一行ずつ入力して ArrayList に格納します。
    reader.ReadLine() が一行ずつ入力するコードです。
    array.Add(str); で入力した行を ArrayList に登録します。
    //★ C:\DATA\Test\utf-8.txt を改行コードで切り分けて ArrayList に格納する
    using System;
    using System.IO;            // for File, StreamReader
    using System.Text;          // for Encoding
    using System.Collections;   // for ArrayList
    
    class TextFileRead
    {
        public static int Main()
        {
            ArrayList   array;
    
            array = Read();
            foreach (string DAT in array)
            {
                Console.WriteLine("{0} ", DAT);
            }
            return 0;
        }
        public static ArrayList Read()
        {
            ArrayList array;
            string str;
    
            array = new ArrayList();
            string file_name = "C:\\data\\test\\utf8.txt";
            if (!File.Exists(file_name))
            {
                Console.WriteLine("*File Open Error");
                return null;
            }
            StreamReader reader = new StreamReader(file_name, Encoding.GetEncoding("utf-8"));
            while ((str = reader.ReadLine()) != null)
            {
                array.Add(str);
            }
            reader.Close();
            return array;
        }
    }
    
  4. 実行すると utf-8.txt に格納されている文字列が印字されます。
    01 utf8.txt
    
    02 UTF-8 text file
    
    03 テスト用のテキストファイルです。
    
    04 先頭に BOM(EFBBBF) が格納されています。
    
    05 改行コードは 0A です。
    
    06 メモ帳では改行されない場合があります。
    
  5. C# の内部コード(文字コード)は16ビットです。
    utf-8 で入力された文字コードは16ビット(utf-16)に変換されて読み込まれます。
    C# では string はもちろん char も16ビットコードが使われています。

超初心者のプログラム入門(C# Frame Work)