C# - よく使うクラス - System.Math

クラウディア 
1. 概要
2. Abs 絶対値
3. Sign 符号付き正数を返す
4. Pow 冪乗

1. 概要

 参考サイトのまま、引用しますが。  「三角関数や対数関数などの一般的な数値関数の定数と静的メソッドを提供します」ちゅうことです。  本ページは、下記のサイトを参考にさせていただきました。
Math クラス (System)

2. Abs 絶対値

 多分、「Absolute value」の略です。  C 言語系を少し扱ったことのある方であれば、多分おなじみ。

Math.Abs(値)
 で使用しますが、値の型に合わせて、オーバロードして、値の型で戻ってきます。

3. Sign 符号付き正数を返す

 説明だけ読むと「数の符号を示す整数を返します」と書いてありまして、これだけでは、よく分からない。

List<double> list = new List<double>{ 0.5, 0.3, 0.8, 0.2 };
 てな、「List」がありまして、これをソートしたいからちゅうて。

list.Sort((x, y) => x - y);
 と書きますと。

error CS1662: Cannot convert `lambda expression' to delegate type `System.Comparison<double>' because some of the return types in the block are not implicitly convertible to the delegate return type
 てなエラーになります。  ソートするための戻りは、正数でなきゃならないのでね。  これを解決するのに「Math.Sign」を使用します。

using System;
using System.IO;
using System.Collections.Generic;

public class MyMain
{
	static public void Main ()
	{
		List<double> list = new List<double>{ 0.5, 0.3, 0.8, 0.2 };

		list.Sort((x, y) => Math.Sign(x - y));

		foreach (double item in list)
		{
	        Console.WriteLine("item = [" + item + "]");
		}
	}
}
 上記のソースをコンパイルして、実行すると、下記の結果が得られます。

item = [0.2]
item = [0.3]
item = [0.5]
item = [0.8]

4. Pow 冪乗

 「Pow()」は、冪(べき)乗計算を行います。

public static double Pow (double x, double y);
 下記のソースを書いて。

public class Program
{
    static public void Main ()
    {
		Console.WriteLine(Math.Pow(2, 16));
    }
}
 コンパイル・実行すると、下記の結果が得られます。

65536
earthcar(アースカー)