读取2666项列表时,C#UWP程序停止

读取2666项列表时,C#UWP程序停止,c#,list,memory,uwp,C#,List,Memory,Uwp,我有一个名字列表(msfuncionarios),上面有名字、RFID-MAC(6对十六进制数字)等。 当我读取RFID(以6位十进制数字输出)时,我需要检查MAC的名称 我有下面的代码,但我认为这是因为内存故障。 该清单共有2666项 我正在用树莓皮2 v.B.运行这个程序 string ConvertUidToName(string uid) { int j, h; int k = 0; string final=""; string[] separators

我有一个名字列表(
msfuncionarios
),上面有名字、RFID-MAC(6对十六进制数字)等。 当我读取RFID(以6位十进制数字输出)时,我需要检查MAC的名称

我有下面的代码,但我认为这是因为内存故障。 该清单共有2666项

我正在用树莓皮2 v.B.运行这个程序

string ConvertUidToName(string uid)
{
    int j, h;
    int k = 0;
    string final="";
    string[] separators = { "-" };

    for (k=0;k <= msfuncionarios.count;k++)
    {
        TextBox_produto.Text = k.ToString();
        string[] words = msfuncionarios[k].MAC.Split(separators, StringSplitOptions.RemoveEmptyEntries);

        i = 0;
        h = 0;

        for (h = 2; h <= 5; h++)
        {
            j = Convert.ToInt32(words[h], 16);
            final = final + j;
        }

        j = 0;

        if (final == uid )
        {
            return msfuncionarios[k].Nome.ToString();
        }

        final = "";
    }

    return uid.ToString();
}
string ConvertUidToName(字符串uid)
{
int j,h;
int k=0;
字符串final=“”;
字符串[]分隔符={“-”};

对于(k=0;k问题在于您的
for
条件:

for (k=0; k <= msfuncionarios.count; k++)

问题在于您的
for
状况:

for (k=0; k <= msfuncionarios.count; k++)
解决了

我在列表中写入的API中发现了一个错误。列表中包含空MAC,转换中断。

已解决


我在列表中写入的API中发现了一个错误。列表中包含空的MAC,转换中断。

列表可以容纳更多。调试时会发生什么情况我认为问题不在于列表,而在于2666循环“for”运行。否?当我调试代码时,Function不会返回任何内容。如果我将k的值放入循环中的文本框中,我只得到0,但如果没有for循环并用数字(员工职位)替换k,则效果会很好2666循环不是很多。PI可能有一些较小的限制,但我不希望像2666那么小!(除非它们是巨大的斑点)…我仍然希望出现某种形式的错误。你确定这不仅仅是冻结你的UI吗?Debbuger不会返回任何错误。我已经删除了Split函数和COnvert.toint32,并且运行良好。Textbox获得了2666的预期值。raspberry的任务费用会高吗?一个列表可以容纳更多的内容。调试它时会发生什么?我认为问题不在于列表,而是2666循环“for”运行。否?当我调试代码时,该函数不会返回任何内容。如果我将k的值放入循环中的文本框中,我只得到0,但没有for循环并用数字替换k(员工职位)2666循环并不是很多。PI可能有一些较小的限制,但我不希望像2666一样小!(除非它们是巨大的斑点)…我仍然希望出现某种形式的错误。你确定这不仅仅是冻结你的用户界面吗?Debbuger不会返回任何错误。我已删除拆分函数和COnvert.toint32,并且运行良好。Textbox获得2666的预期值。任务费用对raspberry来说会太高吗?