Example #1
0
        public static LongRange Parse(string value)
        {
            var sary = value.Split(new[] { "-" }, StringSplitOptions.None).Select(s => s.Trim()).ToArray();

            if (sary.Length == 1)
            {
                // double じゃない?
                return(LongRange.FromPivotValue(long.Parse(sary[0])));
            }
            else if (sary.Length == 2)
            {
                // 二つある
                if (String.IsNullOrEmpty(sary[0]))
                {
                    // To
                    return(LongRange.FromToValue(long.Parse(sary[1])));
                }
                else if (String.IsNullOrEmpty(sary[1]))
                {
                    // From
                    return(LongRange.FromFromValue(long.Parse(sary[0])));
                }
                else
                {
                    // Between
                    return(LongRange.FromBetweenValues(long.Parse(sary[0]), long.Parse(sary[1])));
                }
            }
            else
            {
                throw new ArgumentException("引数が不正です。-が多すぎるか、または無効な文字列です。");
            }
        }