コード例 #1
0
ファイル: Log.cs プロジェクト: akinomyoga/afh
 public void Dispose()
 {
     parent.Unlock();
 }
コード例 #2
0
ファイル: UnitTest.cs プロジェクト: akinomyoga/afh
    public static void test_string_buffer(afh.Application.Log log)
    {
        log.Lock();

        log.WriteLine("---- test1 -----------");
        log.WriteLine("  同内容の文字列即値");
        log.WriteLine("----------------------");
        string text0 = "AIUEO";
        string text1 = "AIUEO";

        log.WriteVar("text0", text0);
        log.WriteVar("text1", text1);
        log.WriteLine("text1 を直接書き換え...");
        string_ToLower(text1);
        log.WriteVar("text0", text0);
        log.WriteVar("text1", text1);        // 結果: 両方変更されていた
        log.WriteLine();

        log.WriteLine("---- test2 -----------");
        log.WriteLine("  即値書き換え後、書き換え前の即値を代入したつもり");
        log.WriteLine("----------------------");
        log.WriteLine("text0 に AIUEO を代入...");
        text0 = "AIUEO";
        log.WriteVar("text0", text0);
        log.WriteLine("text0 に \"AIUE\" を代入...");
        log.WriteLine("text0+=\"O\"...");
        text0  = "AIUE";
        text0 += "O";
        log.WriteVar("text0", text0);
        log.WriteLine();

        log.WriteLine("---- test3 -----------");
        log.WriteLine("  +\"\" で異なるバッファになるか");
        log.WriteLine("----------------------");
        text0 = "IROHA";
        text1 = text0 + "";
        log.WriteVar("text0", text0);
        log.WriteVar("text1=text0+\"\"", text1);
        log.WriteLine("text1 を直接書き換え...");
        string_ToLower(text1);
        log.WriteVar("text0", text0);
        log.WriteVar("text1", text1);
        log.WriteLine();

        log.WriteLine("---- test4 -----------");
        log.WriteLine("  SubString(0) で異なるバッファになるか");
        log.WriteLine("----------------------");
        text0 = "AMETSUCHI";
        text1 = text0.Substring(0);
        log.WriteVar("text0", text0);
        log.WriteVar("text1=text2.SubString(0)", text1);
        log.WriteLine("text1 を直接書き換え...");
        string_ToLower(text1);
        log.WriteVar("text0", text0);
        log.WriteVar("text1", text1);        // 同じインスタンス
        log.WriteLine();

        log.WriteLine("---- test5 -----------");
        log.WriteLine("  SubString(*,*) で異なるバッファになるか");
        log.WriteLine("----------------------");
        text0 = "TAWYINI";
        text1 = text0.Substring(2, 3);
        log.WriteVar("text0", text0);
        log.WriteVar("text1=text2.SubString(2,3)", text1);
        log.WriteLine("text1 を直接書き換え...");
        string_ToLower(text1);
        log.WriteVar("text0", text0);
        log.WriteVar("text1", text1);        // 異なるインスタンス
        log.WriteLine();

        log.Unlock();
    }