wvogel日記

自分用の技術備忘録が多めです.

C# 入門

F#とかやってる場合じゃなくなってきた。
C#とjava scriptを早急に習得せねばならなくなったので。


なので今日から暫くそれらの言語の練習

using System;

class Test{
  static void Main(){
    Console.WriteLine("C# program");

    double[] x = new[]{1.2 , 3.5 , 2.3 , 90.1 , 7.8};
    Console.Write( "x ==" + x[2]);
  }
}

これで配列の扱いがなんとなくわかった。
foreachという関数が用意されているのですが、map関数に似ている気がします。

まずは練習としてHaskellでのwords関数を書いてみる

using System;

class Test{
  static void Main(){
    Words("C# JavaScript Haskell");
  }
}

void Words(string str){
  string[] result = str.Split(' ');

  foreach(string elem in result){
    Console.Write(elem);
  }
}

ところがこれはコンパイルを通りません。
以下のようにしたらやっと通りました

using System;
 
class Test{
 
  public static void Words(string str){
    string[] result = str.Split(' ');
 
    foreach(string elem in result){
      Console.Write(elem+"\n");
    }
  }
 
  static void Main(){
    Words("C# JavaScript Haskell");
  }
}

なんですかこれは。
クラス内でしか関数を宣言できないんですか?
まだstatic修飾詞の意味もわかってないけれど、これをつけないとクラス内で宣言しても利用できませんでした....


今図書館なのでついでにC#の本借りて行くことにしよう...さっぱりです