AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

C# Linq string enthält ...

Ein Thema von EarlyBird · begonnen am 1. Feb 2019 · letzter Beitrag vom 1. Feb 2019
Antwort Antwort
EarlyBird

Registriert seit: 29. Mär 2007
227 Beiträge
 
#1

C# Linq string enthält ...

  Alt 1. Feb 2019, 10:40
Hallo
Ich hoffe ich kann hier auch eine Frage zu C# Linq stellen

Ich habe folgendes Problem:
Ich möchte eine List mit einer eigenen Class abfragen
Delphi-Quellcode:
public call myClass
{
   public int32 ID {get; set;}
 
   public string tdName {get; set;} 
   public string tdText {get; set;} 
   public string[] tdArray {get; set;} 
}

IList<myClass> myClasses = new List<myClasses>();

myClass newmyClass = new myClass() {ID = 1 , tdName = 'no1', tdText = 'Tisch, Stuhl, Bank, Kissen'};
myClasses.add(newmyClass);

myClass newmyClass = new myClass() {ID = 2 , tdName = 'no2', tdText = 'Sessel, Sofa, Tisch, Regal'};
myClasses.add(newmyClass);

myClass newmyClass = new myClass() {ID = 3 , tdName = 'no3', tdText = 'Sofa, Regal, Bett, Schrank'};
myClasses.add(newmyClass);
Ich möchte nun per Linq die Daten abfragen die in der tdText z.B. Tisch enthalten
Ergebnis:

id tdName tdText
1 no1Tisch, Stuhl, Bank, Kissen
2 no2Sessel, Sofa, Tisch, Regal


Versucht habe ich es wie folgt:
Delphi-Quellcode:
var myErgebnis = from myEClass in myClasses
   where (myEClass.tdText.Contains("Tisch") )
   select new {myEClass.ID, myEClass.tdName, myEClass.tdText}
Leider immer ohne Ergebnis.

Ich habe auch versucht tdText als array zu nutzen und dann abzufragen.
Leider auch ohne Ergebnis.

Ich hoffe Ihr könnt mir weiterhelfen.

Vielen Dank schon mal
EarlyBird
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
4.905 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: C# Linq string enthält ...

  Alt 1. Feb 2019, 10:47
Hast du tatsächlich genau den Code mal ausprobiert?
Sieht für mich aus als müsste das funktionieren.
Wobei ich mit der LINQ Syntax nicht so vertraut bin, habe LINQ immer "manuell" über die entsprechenden Methoden aufgerufen.
Von daher: Bist du dir sicher, dass der gesuchte String (case-sensitiv!) auch so irgendwo in einem der Objekte enthalten ist?

Edit: Dein Beispielcode funktioniert (wenn man die (Syntax)fehler behebt):

https://dotnetfiddle.net/CEOxGl
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."

Geändert von Neutral General ( 1. Feb 2019 um 10:56 Uhr)
  Mit Zitat antworten Zitat
EarlyBird

Registriert seit: 29. Mär 2007
227 Beiträge
 
#3

AW: C# Linq string enthält ...

  Alt 1. Feb 2019, 11:09
Ich habe den Code so im Forum eingetippt und nicht ausprobiert
Ist aber eigentlich identisch mit meinem Code.
Werde noch mal alles überprüfen und dann berichten.
Ich war mir halt auch nicht sicher ob es mit dem Code funktionieren sollte oder nicht.
Vielen Dank für deine Hilfe.
Super Tipp mit netFiddle
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf