小编ste*_*eee的帖子

C#:代码合同与正常参数验证

考虑以下两段代码:

    public static Time Parse(string value)
    {
        string regXExpres = 
           "^([0-9]|[0-1][0-9]|2[0-3]):([0-9]|[0-5][0-9])$|^24:(0|00)$";
        Contract.Requires(value != null);
        Contract.Requires(new Regex(regXExpres).IsMatch(value));
        string[] tokens = value.Split(':');
        int hour = Convert.ToInt32(tokens[0], CultureInfo.InvariantCulture);
        int minute = Convert.ToInt32(tokens[1], CultureInfo.InvariantCulture);
        return new Time(hour, minute);
    }
Run Code Online (Sandbox Code Playgroud)

    public static Time Parse(string value)
    {
        if (value == null)
        {
            throw new ArgumentNullException("value");
        }
        string[] tokens = value.Split(':');
        if (tokens.Length != 2)
        {
            throw new FormatException("value must be h:m");
        }
        int hour = Convert.ToInt32(tokens[0], CultureInfo.InvariantCulture);
        if (!(0 <= hour && hour <= 24)) …
Run Code Online (Sandbox Code Playgroud)

.net c# .net-4.0 code-contracts microsoft-contracts

32
推荐指数
1
解决办法
7690
查看次数

标签 统计

.net ×1

.net-4.0 ×1

c# ×1

code-contracts ×1

microsoft-contracts ×1