我在应用程序中使用 Lucene。因此,我有一个表单,允许用户通过从下拉列表中选择他们想要搜索的内容来构建查询。一旦用户提交,我构建查询,它归结为如下内容:
var formedQuery= string.Empty;
foreach(var field in fields)
{
if (field.name != 'condition so you never know which field from fields will be 1st')
formedQuery += " AND" + field.name + ":" field.value;
}
现在的问题是该语句将以“ AND”开头
现在我通常完成:
formedQuery = formedQuery.Substring(4) //Trim the first 4 characters
其他程序员通常更愿意这样做:
var formedQuery= string.Empty;
var i = false;
foreach(var field in fields)
{
if (false &&
field.name != 'condition so you never know which field from fields will be 1st')
{
formedQuery += " AND" + field.name + ":" field.value;
i = true;
}
else
formedQuery += " " + field.name + ":" field.value;
}
人们是否喜欢使用另一种技术来处理我没有想到的这种事情?我更喜欢前者。