Functions.ICase 方法 | |
评估条件列表中的结果(最多支持100对)。
命名空间:
XSharp.VFP
程序集:
XSharp.VFP (在 XSharp.VFP.dll 中) 版本:2.22 GA
语法 FUNCTION ICase(
lCondition,
eResult,
lCondition2,
eResult2,
eOtherwiseResult
) AS USUAL CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public static __Usual ICase(
__Usual lCondition = default,
__Usual eResult = default,
__Usual lCondition2 = default,
__Usual eResult2 = default,
__Usual eOtherwiseResult = default
)
查看代码参数
- lCondition (Optional)
- 类型:__Usual
指定一个逻辑表达式作为条件进行评估。
如果 lCondition 评估为 False (.F.),
ICase( ) 将继续评估下一个条件;如果它评估为 True (.T.),返回该条件对应的 eResult。
如果 lCondition 评估为 null (.NULL.),X# 将 lCondition 视为评估为 False (.F.)。
- eResult (Optional)
- 类型:__Usual
指定 lCondition 评估为 True (.T.) 时要返回的结果。 - lCondition2 (Optional)
- 类型:__Usual
指定一个逻辑表达式作为条件进行评估。
如果 lCondition2 评估为 False (.F.),ICase( ) 将继续评估下一个条件;如果它评估为 True (.T.),返回该条件对应的 eResult。
如果 lCondition 评估为 null(.NULL.),X# 将 lCondition 视为评估为 False (.F.)。
- eResult2 (Optional)
- 类型:__Usual
指定 lCondition2 评估为 True (.T.) 时要返回的结果。 - eOtherwiseResult (Optional)
- 类型:__Usual
包含所有条件评估为 False (.F.) 时返回的结果。
返回值
类型:
__UsualICase( ) 一旦 lCondition 评估为 True (.T.),就返回第一个 eResult。
如果所有条件评估为 False(.F.),
ICase( ) 返回 eOtherwiseResult。
如果省略 eOtherwiseResult,并且所有条件评估为 False(.F.),
ICase( )
返回 null (.NULL.)。
备注
您必须始终传递一组两个参数给 ICase( )。
如果传递奇数个参数,最后一个参数将被视为 eOtherwiseResult 的返回值。
您可以为 ICase( ) 传递最多 100 对参数。 如果在过滤表达式中使用长的 ICase( ) 表达式,
例如在 FOR 或 WHERE 子句中, 请确保 Sys(3055) 设置为适当的复杂性级别,以避免生成错误。
有关更多信息,请参阅 Sys(3055) - FOR 和 WHERE 子句复杂性。
示例
以下示例演示了使用
ICase( ) 评估表达式并根据这些表达式的结果返回某些值的不同场景。 由于第一个表达式评估为
True(.T.),以下代码行显示 "First is true"。
1? ICase(1+1=2,"First is true",1+1=3,"Second is false","None are true")
由于第一个表达式评估为 False (.F.),但第二个表达式评估为 True (.T.),以下代码行显示 "Second is true"。
1? ICase(1+2=2,"First is false",1+2=3,"Second is true","None are true")
由于第一个和第二个表达式评估为 False(.F.),以下代码行显示 "None are true",这是指定的最后一个结果。
1? ICase(1+2=2,"First is false",1+1=3,"Second is false","None are true")
参见