我将尝试在我的私人项目中使用C#Volante数据库引擎。但是提供的示例(DirectoryScan)只是关于从开始或结束读取整个索引。我需要找到例如第一个和其他发生,例如,e。 G:
// c# pseudocode
result = index.GetFirst("lookingforThisString")
while(result != null) {
doProcess(result);
result = index.GetNext();
}
有更多关于使用此引擎和索引的示例吗?
答案 0 :(得分:0)
非唯一索引可以使用Get(from,till)命令的范围参数返回值数组。
这是一个简单的例子:
class MyPersistentClass : Persistent
{
public string Text { get; set; }
}
// Create the index. Must be non-unique to support duplicate keys
dbRoot.MyIndex = db.CreateIndex<string, MyPersistentClass>(IndexType.NonUnique);
// Put the data
dbRoot.MyIndex.Put("my string", new MyPersistentClass { Text="some value" });
dbRoot.MyIndex.Put("my string", new MyPersistentClass { Text="another value" });
// query the index to get multiple values. The range from and till values are the same
MyPersistentClass[] values = dbRoot.MyIndex.Get("my string", "my string");
// process the first occurrence
if (values.Length > 0)
{
DoProcess(values[0]);
}