44 lines
948 B
C#
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();
|
|
}
|
|
}
|
|
}
|