Ich bin ein Anfänger für Programmierung und ich habe versucht, eine Suchmaschine zu schaffen, aber es sa Teil Ich weiß nicht, wie es zu lösen, die eine IList als Gattungszurückgibt,IList <T> Rückkehr als Ober
public IList<T> Search<T>(string textSearch)
{
IList<T> list = new List<T>();
var result = new DataTable();
using (Analyzer analyzer = new PanGuAnalyzer())
{
var queryParser = new QueryParser(Version.LUCENE_30, "FullText", analyzer);
queryParser.AllowLeadingWildcard = true;
var query = queryParser.Parse(textSearch);
var collector = TopScoreDocCollector.Create(1000, true);
Searcher.Search(query, collector);
var matches = collector.TopDocs().ScoreDocs;
result.Columns.Add("Title");
result.Columns.Add("Starring");
result.Columns.Add("ID");
foreach (var item in matches)
{
var id = item.Doc;
var doc = Searcher.Doc(id);
var row = result.NewRow();
row["Title"] = doc.GetField("Title").StringValue;
row["Starring"] = doc.GetField("Starring").StringValue;
row["ID"] = doc.GetField("ID").StringValue;
result.Rows.Add(row);
}
}
return result;
}
aber in diesem Code konnte ich das Ergebnis nicht zurückgeben, es heißt nicht implizit konvertieren Typ 'Data.DataTable' in 'Generic.IList', eine explizite Konvertierung exists.so wie kann ich das lösen?
Der Prototyp Ihrer Funktion zeigt an, dass sie eine 'IList' zurückgeben soll, aber Sie geben stattdessen eine' DataTable' zurück ... – Misery
Wenn Sie die Datensätze in Ihrer DataTable können Sie verwenden 'return result.Rows.Cast() .ToList();' –
Misery
Lieber zurück, eine 'DataTable' warum nicht einfach eine Liste von Filmen (zum Beispiel), z. B.' IList ' –
Sean