i have a simple query. Method-1 works well. But i don't understand what is wrong with method-2?
//method-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
//method-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???
Why no results in method-2 why? I have been workind for 2 days on just this situation. Is it bug or something? Thank you for answers initially.
liSNB.Clear();clears the list which also will "clear" the not executed query. You could persist it viaToList.