普段使わない言語でプログラムの問題を解いて遊ぶときの確認用メモ
F#
open System;
let a:String array=Console.ReadLine().Split(' ')
一般的な値の交換は、一時退避の変数を用意し、値を退避してから
値の入れ替えを行う方法。
var num1 = 5;
var num2 = 6;
var temp = num1; // 値を退避させる。
num1 = num2;
num2 = temp;
var num1 = 5; // 101
var num2 = 6; // 110
num2 ^= num1; // 110 => 011
num1 ^= num2; // 101 => 110
num2 ^= num1; // 011 => 101
var num1 = 5;
var num2 = 6;
num2 = num1 - num2;
num1 -= num2;
num2 += num1;
var num1 = 5.0;
var num2 = 6.0;
num2 = num1 / num2;
num1 /= num2;
num2 *= num1;
enum Fruit { Apple, Orange, Kiwi, Banana }
ToString()で設定した文字列を表示
enum Fruit { Apple, Orange, Kiwi, Banana }
Fruit f = Fruit.Apple;
Console.WriteLine(f.ToString()); // Apple
GetValuesを使って配列に変換
enum Fruit { Apple, Orange, Kiwi, Banana }
var fruits = (Fruit[])Enum.GetValues(typeof(Fruit));
配列に変換してからlengthで取得する方法か・・・
enum Fruit { Apple, Orange, Kiwi, Banana }
var fruits = (Fruit[])Enum.GetValues(typeof(Fruit));
var count = fruits.Length;
列挙体の最後に数を知るための要素を追加しておくか・・・
enum Fruit { Apple, Orange, Kiwi, Banana, Count }
var count = (int)Fruit.Count;
enum Fruit { Apple, Orange, Kiwi, Banana }
var ary = Enum.GetValues(typeof(Fruit));
foreach(var val in ary)
{
Console.WriteLine("{0}->{1}", (int)val, val.ToString());
}
0->Apple
1->Orange
2->Kiwi
3->Banana