本文整理汇总了C#中SubRecord.GetCompareValue方法的典型用法代码示例。如果您正苦于以下问题:C# SubRecord.GetCompareValue方法的具体用法?C# SubRecord.GetCompareValue怎么用?C# SubRecord.GetCompareValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SubRecord
的用法示例。
在下文中一共展示了SubRecord.GetCompareValue方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Evaluate
public bool Evaluate(Record r, SubRecord sr, Element se)
{
if (se == null)
return false;
var value = sr.GetCompareValue(se);
int diff = ValueComparer.Compare(value, this.Value);
switch (this.Type)
{
case BatchCondElementType.Set:
break;
case BatchCondElementType.Add:
break;
case BatchCondElementType.Subtract:
break;
case BatchCondElementType.Multiply:
break;
case BatchCondElementType.Divide:
break;
case BatchCondElementType.Clear:
break;
default:
throw new ArgumentOutOfRangeException();
}
return false;
}
示例2: Match
public override bool Match(Record r, SubRecord sr, Element se)
{
if (this.Type == SearchCondElementType.Exists && se != null)
{
return true;
}
if (this.Type == SearchCondElementType.Missing && se == null)
{
return true;
}
if (se == null)
{
return false;
}
var value = sr.GetCompareValue(se);
int diff = ValueComparer.Compare(value, this.Value);
switch (this.Type)
{
case SearchCondElementType.Equal:
return diff == 0;
case SearchCondElementType.Not:
return diff != 0;
case SearchCondElementType.Greater:
return diff > 0;
case SearchCondElementType.Less:
return diff < 0;
case SearchCondElementType.GreaterEqual:
return diff >= 0;
case SearchCondElementType.LessEqual:
return diff <= 0;
case SearchCondElementType.StartsWith:
if (diff == 0)
{
return true;
}
if (value != null && this.Value != null)
{
return value.ToString().StartsWith(this.Value.ToString(), StringComparison.CurrentCultureIgnoreCase);
}
break;
case SearchCondElementType.EndsWith:
if (diff == 0)
{
return true;
}
if (value != null && this.Value != null)
{
return value.ToString().EndsWith(this.Value.ToString(), StringComparison.CurrentCultureIgnoreCase);
}
break;
case SearchCondElementType.Contains:
if (diff == 0)
{
return true;
}
if (value != null && this.Value != null)
{
return value.ToString().IndexOf(this.Value.ToString(), StringComparison.CurrentCultureIgnoreCase) >= 0;
}
break;
}
return false;
}