using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Tool { public class CommonHelper { public static bool IMEICheck(string imei) { int vl_Sum1 = 0, vl_Sum2 = 0, vl_Total = 0; int vl_Temp = 0; for (int i = 0; i < 14; i++) { /*(1)将奇数位数字相加(从1开始计数)*/ if ((i % 2) == 0) { vl_Sum1 = vl_Sum1 + int.Parse(imei[i].ToString()); } else { /*(2)将偶数位数字分别乘以2,分别计算个位数和十位数之和(从1开始计数)*/ vl_Temp = (int.Parse(imei[i].ToString())) * 2; if (vl_Temp < 10) { vl_Sum2 = vl_Sum2 + vl_Temp; } else { vl_Sum2 = vl_Sum2 + 1 + vl_Temp - 10; } } } /*(1)+(2)*/ vl_Total = vl_Sum1 + vl_Sum2; /*如果得出的数个位是0则校验位为0,否则为10减去个位数 */ if ((vl_Total % 10) == 0) { if (imei[14] == '0') { return true; } } else { if ((10 - (vl_Total % 10)).ToString() == imei[14].ToString()) { return true; } } return false; } public static string GetIMEI(string imei) { int vl_Sum1 = 0, vl_Sum2 = 0, vl_Total = 0; int vl_Temp = 0; for (int i = 0; i < 14; i++) { /*(1)将奇数位数字相加(从1开始计数)*/ if ((i % 2) == 0) { vl_Sum1 = vl_Sum1 + int.Parse(imei[i].ToString()); } else { /*(2)将偶数位数字分别乘以2,分别计算个位数和十位数之和(从1开始计数)*/ vl_Temp = (int.Parse(imei[i].ToString())) * 2; if (vl_Temp < 10) { vl_Sum2 = vl_Sum2 + vl_Temp; } else { vl_Sum2 = vl_Sum2 + 1 + vl_Temp - 10; } } } /*(1)+(2)*/ vl_Total = vl_Sum1 + vl_Sum2; /*如果得出的数个位是0则校验位为0,否则为10减去个位数 */ if ((vl_Total % 10) == 0) { return imei + "0"; } else { return imei + (10 - (vl_Total % 10)).ToString(); } } public static List Clone(List list) where T : new() { List items = new List(); foreach (var m in list) { var model = new T(); var ps = model.GetType().GetProperties(); var properties = m.GetType().GetProperties(); foreach (var p in properties) { foreach (var pm in ps) { if (pm.Name == p.Name) { pm.SetValue(model, p.GetValue(m)); } } } items.Add(model); } return items; } } }