У меня есть простой запрос. Метод-1 работает хорошо. Но я не понимаю, что не так с методом-2?запрос linq со списком
// метод-1
List<string> li = new List<string>();
List<string> liSNB = new List<string>();
li.Add("result1");
li.Add("result2");
li.Add("result3");
var vQuery = from ssoli in li.AsEnumerable()
where li.Contains(ssoli)
where ssoli.Contains("2")
select new
{
soName = ssoli,
};
liSNB.Clear();
foreach (var v in vQuery)
liSNB.Add(v.soName);
li.Clear();
li.AddRange(liSNB);
lbxLinq.Items.AddRange(li.ToArray());//add results2
// метод-2
List<string> liSNB = new List<string>();
liSNB.Add("result1");
liSNB.Add("result2");
liSNB.Add("result3");
var vQuery = from ssoli in liSNB.AsEnumerable()
where liSNB.Contains(ssoli)
where ssoli.Contains("2")
select new
{
soName = ssoli,
};
liSNB.Clear();
foreach (var v in vQuery)
liSNB.Add(v.soName);
lbxLinq.Items.AddRange(liSNB.ToArray());//add nothing WHY???
Почему нет результатов в методе-2 почему? В этой ситуации я работал в течение 2 дней. Это ошибка или что-то еще? Спасибо за ответы изначально.
Вы слышали о отсроченном исполнении LINQ? 'liSNB.Clear();' очищает список, который также «очистит» не выполненный запрос. Вы можете сохранить его через 'ToList'. –
нет, я еще не слышал. это об этой ошибке? – lotomax
Благодарим вас за помощь – lotomax