0

私はdatatable200,000行を持っており、各行をリストの行で検証し、その文字列を返しcodesListたい..非常に時間がかかっています..パフォーマンスを改善したい.

for (int i = 0; i < dataTable.Rows.Count; i++)
{
    bool isCodeValid = CheckIfValidCode(codevar, codesList,out CodesCount);
}

private bool CheckIfValidCode(string codevar, List<Codes> codesList, out int count)
{
    List<Codes> tempcodes=  codesList.Where(code => code.StdCode.Equals(codevar)).ToList();
    if (tempcodes.Count == 0)
    {
        RetVal = false;
        for (int i = 0; i < dataTable.Rows.Count; i++)
        {
            bool isCodeValid = CheckIfValidCode(codevar, codesList,out CodesCount);
        }
    }
}

private bool CheckIfValidCode(string codevar, List<Codes> codesList, out int count)
{
    List<Codes> tempcodes=  codesList.Where(code => code.StdCode.Equals(codevar)).ToList();
    if (tempcodes.Count == 0)
    {
        RetVal = false;
    }
    else
    {
        RetVal=true;
    }
    return bRetVal;
}

codelist200000 レコードも含むリストです。提案してください。同じ時間がかかるものを使用findAllし、同じ時間がかかるLINQクエリも使用しました。

4

1 に答える 1