Sha256: 83eff468bafc19f6b781310651035e94f0fc270721dcc1f0292294fdd0babbaa

Contents?: true

Size: 611 Bytes

Versions: 116

Compression:

Stored size: 611 Bytes

Contents

using System;
using System.Text.RegularExpressions;

public static class IsbnVerifier
{
    public static bool IsValid(string number)
    {
        number = number.Replace("-", "");

        if (!Regex.IsMatch(number, @"^(\d{9}[\dX])$"))
        {
            return false;
        }

        var sum = 0;
        var weight = 10;
        var digit = 0;
        for (int i = 0; i < number.Length; i++)
        {
            digit = (number[i] == 'X' && i == 9) ? 10 : (int)Char.GetNumericValue(number[i]);

            sum += digit * weight;
            weight--;
        }
        return sum % 11 == 0;
    }
}

Version data entries

116 entries across 116 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/csharp/exercises/isbn-verifier/Example.cs
trackler-2.2.1.179 tracks/csharp/exercises/isbn-verifier/Example.cs
trackler-2.2.1.178 tracks/csharp/exercises/isbn-verifier/Example.cs
trackler-2.2.1.177 tracks/csharp/exercises/isbn-verifier/Example.cs
trackler-2.2.1.176 tracks/csharp/exercises/isbn-verifier/Example.cs
trackler-2.2.1.175 tracks/csharp/exercises/isbn-verifier/Example.cs
trackler-2.2.1.174 tracks/csharp/exercises/isbn-verifier/Example.cs
trackler-2.2.1.173 tracks/csharp/exercises/isbn-verifier/Example.cs
trackler-2.2.1.172 tracks/csharp/exercises/isbn-verifier/Example.cs
trackler-2.2.1.171 tracks/csharp/exercises/isbn-verifier/Example.cs
trackler-2.2.1.170 tracks/csharp/exercises/isbn-verifier/Example.cs
trackler-2.2.1.169 tracks/csharp/exercises/isbn-verifier/Example.cs
trackler-2.2.1.167 tracks/csharp/exercises/isbn-verifier/Example.cs
trackler-2.2.1.166 tracks/csharp/exercises/isbn-verifier/Example.cs
trackler-2.2.1.165 tracks/csharp/exercises/isbn-verifier/Example.cs
trackler-2.2.1.164 tracks/csharp/exercises/isbn-verifier/Example.cs
trackler-2.2.1.163 tracks/csharp/exercises/isbn-verifier/Example.cs
trackler-2.2.1.162 tracks/csharp/exercises/isbn-verifier/Example.cs
trackler-2.2.1.161 tracks/csharp/exercises/isbn-verifier/Example.cs
trackler-2.2.1.160 tracks/csharp/exercises/isbn-verifier/Example.cs