本文整理汇总了C#中IIndex.FindEntry方法的典型用法代码示例。如果您正苦于以下问题:C# IIndex.FindEntry方法的具体用法?C# IIndex.FindEntry怎么用?C# IIndex.FindEntry使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IIndex
的用法示例。
在下文中一共展示了IIndex.FindEntry方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetFiles
public IEnumerable<String> GetFiles(String query, IIndex index)
{
// If query does not have delimiter than all query is one word to search
if (!query.Contains(WordDelimiter))
return index.FindEntry(query);
var result = new List<IndexEntry>();
var state = ParserState.LookingForDelimiter;
var builder = new StringBuilder();
foreach (var character in query)
{
switch (state)
{
case ParserState.LookingForDelimiter:
if (character == WordDelimiter[0])
state = ParserState.ReadingWord;
break;
case ParserState.ReadingWord:
if (character == WordDelimiter[0])
{
var entry = index.FindEntry(builder.ToString());
if (!entry.HasFiles)
return Enumerable.Empty<String>();
result.Add(entry);
state = ParserState.LookingForDelimiter;
builder.Clear();
}
else
{
builder.Append(character);
}
break;
}
}
return result.Cast<IEnumerable<String>>().Aggregate((r1, r2) => r1.Intersect(r2));
}
示例2: GetFiles
public IEnumerable<String> GetFiles(String query, IIndex index)
{
return index.FindEntry(query);
}