你好,欢迎阅读我的文章,今天来分享一个根据银行卡号获取银行的项目。
欢迎购买我的付费专栏 1:高级C#学习 2:网络
开始开发
在VS2019(或2008以上的版本)新建一个控制台应用项目,叫BankInfoDemo,如图1
添加一个类,名为BankInfo.cs
核心代码
Program.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BankInfoDemo
{
class Program
{
static void Main(string[] args)
{
while (true)
{
Console.WriteLine("输入银行卡号:\n");
var cardStr = Console.ReadLine();
if (cardStr == null) continue;
var cardNumber = cardStr.ToCharArray();
var name = BankInfo.GetBankName(cardNumber); //获取银行卡的信息
Console.WriteLine(name);
}
}
}
}
完成后:
不要担心,继续即可
BankInfo.cs
代码折叠后如下:
数组形式存储银行BIN号:
#region 数组形式存储银行BIN号
/// <summary>
/// 银行 BIN 号
/// </summary>
private readonly static long[] BankBin =
{
102033,
103000,
185720,
...//由于很长,这里就不列了,要获取完整代码请下载文件
}
#endregion
数组形式存储发卡行.卡种名称:
#region 数组形式存储发卡行.卡种名称
/// <summary>
/// 发卡行.卡种名称
/// </summary>
private static readonly string[] BankName = {
"广东发展银行.广发理财通",
"农业银行.金穗借记卡",
"昆明农联社.金碧卡",
...//由于很长,这里就不列了,要获取完整代码请下载文件
};
#endregion
获取发卡行.卡种名称:
#region public static string GetBankName:获取发卡行.卡种名称
/// <summary>
/// 获取发卡行.卡种名称
/// </summary>
/// <param name="charBin">要查的BIN号</param>
/// <param name="offset">偏移个数:默认0表示不偏移,即从第1位开始</param>
/// <returns>发卡行.卡种名称的字符串</returns>
public static string GetBankName(char[] charBin, int offset = 0)
{
long longBin = 0;
for (var i = 0; i < 6; i++)
{
longBin = (longBin * 10) + (charBin[i + offset] - 48);
}
Console.WriteLine("BankBin: " + longBin);
var index = BinarySearch(BankBin, longBin);
...//这里就不列了,要获取完整代码请下载文件
}
#endregion
二分法查找:
#region private static int BinarySearch:二分法查找
/// <summary>
/// 二分法查找
/// </summary>
/// <param name="srcArray">BIN数组</param>
/// <param name="des"></param>
/// <returns>数组下标</returns>
private static int BinarySearch(IReadOnlyList<long> srcArray, long des)
{
int low = 0;
int high = srcArray.Count - 1;
while (low <= high)
{
int middle = (low + high) / 2;
if (des == srcArray[middle])
{
return middle;
}
if (des < srcArray[middle])
...//这里就不列了,要获取完整代码请下载文件
}
#endregion
运行效果
源码下载
点击下载(download.csdn.net/download/ssssswsrjhtdj/15450697)
关注我
希望能帮到你,别忘了点赞+关注+购买我的付费专栏