SearchBox/SearchBox/SearchResult.cs

44 lines
948 B
C#

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<SearchOffset> Offsets { get; private set; }
public SearchResult(string inPageName, float inRank, List<SearchOffset> 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();
}
}
}