はじめに
ネットを探すとすぐに見つかるのですが、念のため自分用のスニペットを。
追記
From ... To がそれぞれ「含む」「含まない」が指定できないため、指定できるものをつくりました。
C# で Between(やりすぎバージョン) - Qiita
サンプルコード
using System;
namespace BetweenTest
{
static class Ext
{
public static bool Between<T>(this T source, T low, T high) where T : IComparable
{
if (low.CompareTo(high) > 0) { throw new ArgumentException(); }
return source.CompareTo(low) >= 0 && source.CompareTo(high) <= 0;
}
}
class Program
{
static void Main(string[] args)
{
if (5.Between(0, 9))
{
Console.WriteLine("Hello World!");
}
if ("5".Between("0", "9"))
{
Console.WriteLine("Hello World!");
}
}
}
}
使い所
VB では問題なくできるのですが、C# では以下のように書くとエラーになります。
if ("0" <= val && val <= "9")
{
// ...
}
文字列の比較に <=
とか書けないのです1。こんな時に Between があると次のように書けるので助かります。
if (val.Between("0", "9"))
{
// ...
}
-
しかもこの時の業務は
val
に英字記号も入ってきていたのでint.Parse
も許されなかったのです。 ↩