W tym wpisie chciałbym przedstawić co to jest system ekspercki i jak można taki system stworzyć w .Net. System ekspercki lub doradczy to taki system, który na podstawie uzyskanych faktów (danych od użytkownika) potrafi wybrać lub doradzić najlepsze rozwiązanie jakiegoś problemu. Użytkownik przekazuje informację do systemu odpowiadając na pytania. Istnieje wiele przykładów takich systemów np. …
Archowum tagów: .Net
wrz 13
Linq – jak zacząć?
W tym wpisie zamieszczę kilka wskazówek i informacji jak w miarę bezboleśnie rozpocząć naukę i pracę z Linq i na co warto zwrócić uwagę. Praca z linq daje możliwość obsługi wielu źródeł danych za pomocą tych samych metod, jako przykład wykorzystam bazę danych, którą pokazałem kilka wpisów temu. Do połączenia z bazą danych używam EntityFramework. …
sie 26
Linq inside (IQueryable i Expression)
W ostatnim wpisie z tej serii chciałem przedstawić najważniejszą cechę linq, mianowicie niezależność od źródła danych. Jak pisałem wcześniej Linq jest połączeniem 5 elementów: extension methods yield Func, Predicate, Action wyrażenia lambda IQueryable i Expression Trees We wszystkich poprzednich wpisach pracowaliśmy na kolekcjach, które przechowywane były w pamięci, jednak linq ma dużo większe możliwości obsługuje …
sie 21
Linq inside (lamba expressions)
Dzisiaj opisze mechanizm lamba expression. Dla przypomnienia Linq jest połączeniem 5 elementów: extension methods yield Func, Predicate, Action wyrażenia lambda IQueryable i Expression Trees Wyrażenia lambda to nic innego jak syntactic sugar czyli taki bonus od Microsoftu, który ułatwia pisanie kodu. Wyrażenia lambda upraszczają zapisu delegatu. Przypomnijmy przykład z poprzedniego wpisu.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
class Program { static void Main(string[] args) { var list = new List<int> {2, 4, 6, 8, 5, 10}; Func<int,bool> isModTwo = delegate(int i) { return i%2 == 0; }; foreach (var x in list.TakeWhile(isModTwo)) { Console.WriteLine(x); } } } |
Przykład ten wypisuje …
sie 17
Linq inside (Func, Predicate, Action)
W kolejnym wpisie o linq przedstawię zasadę działania Func, Predicate, Action. Dla przypomnienia Linq jest połączeniem 5 elementów: extension methods yield Func, Predicate, Action wyrażenia lambda IQueryable i Expression Trees Przyjrzyjmy się najpierw deklaracji tych trzech typów.
1 2 3 4 5 6 7 8 9 |
public delegate void Action<in T>(T obj); public delegate bool Predicate<in T>( T obj ) public delegate TResult Func<in T, out TResult>( T arg ) |
Z definicji tych wynika, ze powyższe typy to nic innego jak delegaty. Do każdego z tych typów …
sie 14
Linq inside (yield)
W poprzednim wpisie opisałem extension methods, dzisiaj czas na kolejny element moim zdaniem bardzo ważny do zrozumienia działania linq mianowicie słowo kluczowe yield. Dla przypomnienia Linq jest połączeniem 5 elementów: extension methods yield Func, Predicate, Action wyrażenia lambda IQueryable i Expression Trees Zasadę działania słowa kluczowego yield najlepiej zobrazuje przykład. Załóżmy, że mamy metodę, która …
sie 10
Linq inside (Extension methods)
Blogowania chciałem rozpocząć od cyklu wpisów o Linq. Każdy dobry programista C# powinien umieć się posługiwać Linq, nie każdy niestety wie jak to właściwie działa. Linq wprowadza wspólny interfejs do pracy z kolekcjami niezależnie od źródła danych. Linq jest połączeniem 5 elementów: extension methods yield Func, Predicate, Action wyrażenia lambda IQueryable i Expression Trees W …
Najnowsze komentarze