移転しました。

C# メモ 1

通常のSystem.out(Javaでいう)は

System.Console.WriteLine("HelloWorld");

Web上だとコンソール出力が使えないので

System.Diagnostics.Debug.WriteLine("HelloWorld");

とする。但しデバッグのプロセスにアタッチしていることが条件。



Dispose()が必要な場合は

try {
    Hoge foo = {コネクション系};
    // 処理
} finally {
    foo.Dispose();
}

みたいなJavaっぽい記述も出来るけれど、

using (Hoge foo = {コネクション系}) {
    // 処理
}

の方がスマート。勝手にDisposeしてくれる。



JavaでThreadと言えば「extends Thread」か「implements Runnable」だけど、C#ではThreadクラスに実行するメソッドを渡す。コードはこんな感じ。

using System;
using System.Threading;

class HelloWorld
{
    private static void hello()
    {
        Console.WriteLine("HelloWorld");
    }

    public static void Main()
    {
        Thread t = new Thread( new ThreadStart(hello) );
        t.Start();
    }
}

いっぱいマルチスレッドしたときに処理を待つには、それらのスレッドを

t.Join();

とかすると。何かメソッドの参照を渡すってのがJavaScriptみたいだ。



XMLJavaScriptっぽい。というかDOM基準なので当然か。

XmlDocument xml = new XmlDocument();

というのがJavaScriptのdocumentと同じような印象。

XmlElement div = xml.CreateElement("div");
XmlElement span = xml.CreateElement("span");
span.InnerText = "HelloWorld";
span.SetAttribute("id", "foo");
div.AppendChild(span);

というような感じでXMLの構築が可能。