Почему не работает код с Select()? - LINQ

Узнай цену своей работы

Формулировка задачи:

Вопрос очень краткий "Почему не работает?"
public class Program
    {
        public static void Main(string[] args)
        {
            IEnumerable<A> en_a = new [] { new A { Name = "t1"}, new A { Name = "t2"}, new A { Name = "t3"}, new A { Name = "t4"} }.Select(x=>new A { Name = x.Name});

            foreach(var a in en_a)
                a.aaa = en_a.Where(x=>x.Name == "t3");
            
            foreach(var a in en_a)
            Console.WriteLine(a.aaa == null?"пусто":a.aaa.Count().ToString());
        }
        
        class A
        {
            public string Name {get;set;}
            public IEnumerable<A> aaa {get;set;}
        }
    }
Всё дела в Select-е, но я не понимаю почему именно.... Объясните плз. (если убрать select в строке инициализации то в консоле будут единички, а с ним "пусто")

Решение задачи: «Почему не работает код с Select()?»

textual
Листинг программы
A[] arr = new [] { 
    new A { Name = "t1"},
    new A { Name = "t2"},
    new A { Name = "t3"},
    new A { Name = "t4"}
};
foreach(var x in arr)
{
    var tempA = new A { Name = x.Name };
    tempA.aaa = arr.Where(z => z.Name == "t3");
}
 
foreach(var x in arr)
{
    var tempA = new A { Name = x.Name };
    Console.WriteLine(tempA.aaa == null?"пусто":tempA.aaa.Count().ToString());
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5