フォロー

こんだけ!><;

public enum OrderIs : int
{
LT = -1,
EQ = 0,
GT = 1
}

public static class CsOrdering
{
public static OrderIs Order(IComparable left, IComparable right)
{
return (OrderIs)left.CompareTo(right);
}
}

使い方><

//2と3てどっちが大きい
switch (CsOrdering.Order(2, 3))
{
case OrderIs.EQ:
{
//以下略

C# わからん人用に日本語版!!!><;(日本語版もそのまま使える><;)

public enum でかいのは : int
{
みぎだよ = -1,
同じだよ = 0,
ひだりだよ = 1
}

public static class どっちがでかいのさ
{
public static でかいのは これとこれ(IComparable left, IComparable right)
{
return (でかいのは)left.CompareTo(right);
}
}

日本語版使用例><;
Console.WriteLine(どっちがでかいのさ.これとこれ(2, 3));
//出力 : みぎだよ

// switch case の例
switch (どっちがでかいのさ.これとこれ(2, 3))
{
case でかいのは.ひだりだよ:
{
//以下略

あれ?><; よく考えたらこのままだと比較できない型同士でも静的に型チェックされない?><;

//ちゃんと型検査されるようになおしました!><;

public enum OrderIs : int
{
LT = -1,
EQ = 0,
GT = 1
}

public static class CsOrdering
{
public static OrderIs Order<Type>(Type left, Type right)
where Type : IComparable
{
return (OrderIs)left.CompareTo(right);
}
}

ログインして会話に参加
:realtek:

思考の /dev/null