=> k.LenghtNowość NR.2

Z okazji powstania kompilatora Roslyn w Visual Studio, w końcu dotarła możliwość użycia wyrażeń lamba i metod Linq, w trakcie procesu debugowania kodu.

Do tej pory nie można było tego zrobić.

Do pokazania tej nowej funkcjonalności napisałem następujący kod.

string[] words = new string[] { "Moto Myszy z Marsa",
    "Wojownicze żółwie Ninja", "Rekiny" ,"Jumanji" ,"M6",
"Batman", "Superman","MIB","The Mask","Godzilla"};

var choseWords = words.Where(k => k.Length < 7);

Immediate Window stał się teraz znacznie potężniejszym narzędziem. Mogę na przykład złapać dwa pierwsze elementy kolekcji bądź je pominąć.

Linq Immediate Window

W oknie Watch mogę też dodać wyrażenia Lambda.

Watch 1

Obecnie jednak istnieją pewne ograniczenia.

Łatwo to zauważyć, gdy zastosujemy wyrażenia LINQ a w nich musisz zostać wykonajakaś metoda natywna. Przykładowo nie mogę skorzystać z indeksera w stringu by sprawdzić pierwszy jego znak.

Ograniczenie

Oczywiście z innymi metodami czy właściwościami nie ma problemów.

public class Woman
{
    public int Age { get; set; }

    public string Name { get; set; }

    public int RealAge()
    {
        return (Age / 2) + 5;
    }
}
List<Woman> ladies = new List<Woman>()
{
    new Woman() { Age = 25, Name ="Wiktoria" },
    new Woman() { Age = 24, Name ="Barbara" },
    new Woman() { Age = 22, Name ="Gracia" },
    new Woman() { Age = 26, Name ="Kamila" },
    new Woman() { Age = 23, Name ="Dominika" },
    new Woman() { Age = 32, Name ="Patrycja" },
};

Watch

Jest to  duży krok naprzód. Zobaczymy czy ta funkcja będzie działała lepiej podczas premiery Visual Studio 2015.