Hello. I can not understand why in this code the variable v has the type IEnumerable<string[]> . After all, according to the code, I first filter the words starting on А , then go through the variable x and of course, some IEnumerable<string> should return, but as I understand it, the array of arrays is returned and therefore this foreach form does not work. Why

 static void Main() { string[] s = new string[] { "Avel", "Pavel", "Mavel", "Musia", "Pussia", "Mama", "Artik", "Purn", "Acvelon" }; var v = from st in s where !st.StartsWith("A") select s into x where x.Length > 4 select x; foreach(string str in v) { } } 

PS I know that the request can be made easier, but I just need to understand for myself why such a return

    1 answer 1

    Apparently because the variable s is also string []. It will be enough to select s change to select st

    • 3
      Exactly !! It’s not for nothing that DreamChild told me that I normally called variables, in the end I myself got confused in my names - Polyakov Sergey