C# · 12月 20, 2021

C#:根据银行卡卡号判断银行名称

原文地址:

原文是 java ,现在将它翻译成 C# ,并对代码重新编排整理,博主是一个今年刚出来的应届毕业生,不足之处请多多包涵。

  根据银行卡号判断所属银行,依据是卡号的前6位数,称之为bin号。

  我们把bin号转化为长整形,再把各个银行卡的bin号做成有序表。通过二分查找的方法,找到bin号在有序表的位置,然后读出银行卡的信息。

  测试发现部分新卡号未能识别。

  1.创建项目:BankInfoDemo(控制台应用程序)

   

  2.新建类:BankInfo.cs

数组形式存储银行BIN号 [] BankBin = 数组形式存储发卡行.卡种名称 [] BankName = public static string GetBankName:获取发卡行.卡种名称 GetBankName([] charBin, offset = longBin = ( i = ; i < ; i++ longBin = (longBin * ) + (charBin[i + offset] – Console.WriteLine( + index = (index == – BankName[index] + private static int BinarySearch:二分法查找 BinarySearch(IReadOnlyList srcArray, low = high = srcArray.Count – (low <= middle = (low + high) / (des == (des < high = middle – low = middle + – }

   

  3.修改类:Program.cs

Main( ( Console.WriteLine( cardStr = (cardStr == ) cardNumber = name = BankInfo.GetBankName(cardNumber); }

  4.完成。附上代码: