Thanks for @RobH's answer and on top of it,
Thanks for @RobH Answer and On Top It,
var knownAccountNumbers = new HashSet<string>();
//// If AccountData DataTable used only for condition then
//// Delete Code Related to AccountData DataTable and Use knownAccountNumbers HashSet alone.
DataTable accountDt = dataStructure.Tables["AccountData"];
while (readFile.Read())
{
string accountNumber = readFile.GetString(0).Trim();
knownAccountNumbers.Add(accountNumber);
DataRow dr = accountDt.NewRow();
dr[AppConst.AccountNumber] = accountNumber;
dr[AppConst.LegalStatus] = readFile.GetString(1);
accountDt.Rows.Add(dr);
}
/* ----------------------------------------------------------------------------------------------- */
foreach (DataRow row in dt.Rows)
{
//// For single char string replace use data type as char instead of string.
//// Gives more perfromance
//// var accountNumber = row[0].ToString().Replace(AppConst.BackSlashChar, AppConst.EmptyChar);
var accountNumber = row[0].ToString().Replace(AppConst.BackSlash, string.Empty);
//// Use Constant String will not create unnecessary memory allocation.
row[12] = knownAccountNumbers.Contains(accountNumber) ? AppConst.Yes : AppConst.No;
}
/*------------------------------------------------------------------------------------------------ */
public static class AppConst
{
public const string Yes = "Y";
public const string No = "N";
//// public const char BackSlashChar = '\"';
//// public const char EmptyChar = '\0';
public const string BackSlash = "\"";
public const string AccountNumber = "AccountNumber";
public const string LegalStatus = "LegalStatus";
}