Luhn algorithm: Difference between revisions

Content deleted Content added
reference & external link update
Fix buggy C# implementation which was giving an incorrect answer for arrays of odd length. E.g. it was returning `false` for "49927398716"
Line 122:
=== [[C Sharp (programming language)|C#]] ===
<syntaxhighlight lang="c#" line="1">
bool IsValidLuhn(in int[] digits)
{
int check_digitcheckDigit = 0;
for (int i = digits.Length - 2; i >= 0; --i)
{
check_digit += ((i & 1) is 0) switch
{checkDigit +=
true => digits[(i] >& 41) ?== (digits[i] * 2 - 9 : digits[i].Length *& 2,1)
false = ? digits[i] > 4 ? digits[i] * 2 - 9 : digits[i] * 2
} : digits[i];
}
 
return (10 - (check_digitcheckDigit % 10)) % 10 == digits.Last()[^1];
}
</syntaxhighlight>