【发布时间】:2017-06-03 18:19:26
【问题描述】:
我有一个这种特殊格式的字符串
string LogInIDs = 124,345, 876 | 765,322, 98 | 565,99
字符串中的所有数字都是唯一的登录 ID。使用管道符号,对 id 进行分组。现在,假设 LogInID 是 345,那么我需要绑定其他数字(本例中为 124 & 876 ) 在下拉列表中的组中。下面的函数是我为检索其他数字所做的。
任何人都可以提出更好的想法或建议
public static List<string> RetrieveAffCodes(string LogInIDs , string LogInID)
{
List<string> _finale = new List<string>();
string[] sep1 = new string[1];
sep1[0] = "|";
int count = LogInIDs.Count(x => x == '|');
string[] groups = new string[count + 1];
groups = LogInIDs.Split(sep1, StringSplitOptions.RemoveEmptyEntries);
foreach (string g in groups)
{
string p = g;
string[] sep2 = new string[1];
sep2[0] = ",";
int counter = p.Count(x => x == ',');
string[] final_list = new string[counter + 1];
final_list = p.Split(sep2, StringSplitOptions.RemoveEmptyEntries);
foreach (string _f in final_list)
{
if (_f.Trim() == LogInID)
{
_finale = AddLogInIDs(final_list, final_list.Count());
}
}
}
return _finale;
}
private static List<string> AddLogInIDs(string[] final_list, int p)
{
List<string> _finale = new List<string>();
foreach (var item in final_list)
{
_finale.Add(item.Trim());
}
return _finale;
}
我们将接受任何建议。
感谢您的时间和耐心。
注意:字符串将扩展到 200 个组
【问题讨论】:
-
这是一个有效的答案吗? dotnetfiddle.net/M2FyNk 。它是 C#6,但很容易适应 C#5
标签: c# asp.net arrays list asp.net-2.0