using System; using System.Collections.Generic; using System.Text; using System.Linq; namespace LibSearchBox { public struct SearchOffset { public string Term; public int Offset; public SearchOffset(string inTerm, int inOffset) { Term = inTerm; Offset = inOffset; } } public class SearchResult { public string PageName { get; private set; } public float Rank { get; private set; } public List Offsets { get; private set; } public SearchResult(string inPageName, float inRank, List inOffsets) { PageName = inPageName; Rank = inRank; Offsets = inOffsets; } public override string ToString() { StringBuilder result = new StringBuilder(); result.AppendLine($"{PageName} - ({Rank} points)"); result.Append($" {string.Join(", ", Offsets.Select((SearchOffset nextOffset) => $"{nextOffset.Offset}:{nextOffset.Term}"))}"); return result.ToString(); } } }