logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

"Zaawansowane" wyszukiwanie tekstu w C#, Visual Studio

Adam Ś. 23 Maj 2017 09:59 2028 7
REKLAMA
  • #1 16491058
    Adam Ś.
    Poziom 12  
    Posty: 209
    Ocena: 8
    Witam. Tworzę w Visualu aplikację, która będzie mieć taką jakby małą bazę danych w formie listy. Lista ta ma kilka pól, a jednym z nich jest pole przechowujące tekst. Chciałbym teraz mieć możliwość szukania tego co wpisze użytkownik czy występuje ten tekst gdzieś w tej mojej "bazie". Wiem, że jest metoda List.Find, ale ona jest za prosta. Załóżmy teraz że w tej niby bazie jest taki tekst "Ala ma kota". Metoda find sprawdzi się gdy będę chciał znaleźć "Ala ma kota", nie zadziała jednak gdy będę chciał znaleźć "ma". Mam na dzieję, że wiecie o co mi chodzi. Po prostu chcę móc wyszukiwać nie konkretnie 1:1 czyli gdy chcę znaleźć "pogoda" to w bazie musi być tylko to słowo i nic poza nim. Czy istnieje coś takiego co umożliwiałoby mi wyszukiwanie takie bardziej "zaawansowane"?
  • REKLAMA
  • #2 16491066
    wiesniak
    Poziom 31  
    Posty: 1006
    Pomógł: 231
    Ocena: 52
    Jaka baza? Jak się z nią łączysz? Jak pobierasz dane? Generalnie zrobienie prostego zapytania z klauzulą LIKE na kolumnie powinno być trywialne.
  • REKLAMA
  • #3 16491078
    Adam Ś.
    Poziom 12  
    Posty: 209
    Ocena: 8
    Kolejny... :D A czy kolega w ogóle czytał to co napisałem? ;P
    Żadna baza danych. Dane mam przechowywane w aplikacji w formie listy. Chyba jest różnica pomiędzy "baza danych" a "niby baza danych"?
  • Pomocny post
    #4 16491081
    wiesniak
    Poziom 31  
    Posty: 1006
    Pomógł: 231
    Ocena: 52
    Moje niedopatrzenie, trudno (było nie pisać o "firmie listy" ;]). W każdym razie, skoro to jest lista, to użyj linq:
    Kod: C#
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #5 16491539
    Konto nie istnieje
    Konto nie istnieje  
  • #6 16491579
    Konto nie istnieje
    Konto nie istnieje  
  • #7 16491836
    Adam Ś.
    Poziom 12  
    Posty: 209
    Ocena: 8
    Dziękuję za odpowiedzi, okazały się pomocne :) A tak jeszcze przy okazji jedno szybkie pytanie - jaki jest w WPF odpowiednik opcji "KeyPreview", który można było znaleźć w Windows Form? Chodzi o ustawienie we właściwościach okna programu dzięki któremu można było wykrywać czy użytkownik wciska jakieś klawisze nawet gdy nie mieliśmy kursora na takich kontrolkach jak textbox, itp.
  • REKLAMA
  • #8 16493669
    Konto nie istnieje
    Konto nie istnieje  

Podsumowanie tematu

✨ Użytkownik poszukuje sposobu na zaawansowane wyszukiwanie tekstu w aplikacji C# w Visual Studio, gdzie dane są przechowywane w formie listy. Odpowiedzi sugerują użycie LINQ do przeszukiwania listy z wykorzystaniem metody `Contains`, co pozwala na wyszukiwanie fragmentów tekstu. Inne propozycje obejmują zastosowanie wyrażeń regularnych (regex) dla bardziej złożonych reguł oraz implementację pętli do przeszukiwania. Dodatkowo, użytkownik pyta o odpowiednik opcji "KeyPreview" w WPF, co prowadzi do wskazania na zdarzenia `keydown` jako rozwiązanie. Sugerowane jest również stworzenie klasy z serializacją dla lepszego zarządzania danymi.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA