すんません。Cのプログラムを移植しているのですが

int func(int ret ){
 static int flg=0;
 if (flg == 0 ){
  flg = 1
 }
 else
 {
  flg = 0;
 }
 ret = flg;
 return ret;
}

みたいに、最初の1回だけ(コンパイル時に)初期化し、関数が抜けた後も記憶している
static変数をC#で書くにはどうすりゃいいんでしょうか?
上のコードをそのまま書いても、エラーになってしまうのですが。