Seq.exists2<'T1,'T2> 函数 (F#)
更新:2010 年 8 月
测试输入序列的任何对应元素对是否都满足给定谓词。
命名空间/模块路径: Microsoft.FSharp.Collections.Seq
程序集:FSharp.Core(在 FSharp.Core.dll 中)
// Signature:
Seq.exists2 : ('T1 -> 'T2 -> bool) -> seq<'T1> -> seq<'T2> -> bool
// Usage:
Seq.exists2 predicate source1 source2
参数
predicate
类型:'T1 -> 'T2 -> bool用于测试输入序列中的每对项的函数。
source1
类型:seq<'T1>第一个输入序列。
source2
类型:seq<'T2>第二个输入序列。
异常
异常 |
Condition |
---|---|
在两个输入序列中的任一一个为 null 时引发。 |
返回值
谓词将应用来对两个序列中的元素进行匹配,直至达到两个集合长度中较小的长度为止。 如果任何应用程序返回 true,则总体结果为 true,并且不再测试其他元素。 否则将返回 false。
备注
如果一个序列比另一个序列短,则会忽略较长序列的其余元素。
此函数在编译的程序集中名为 Exists2。 如果从 F# 以外的语言中访问函数,或通过反射访问成员,请使用此名称。
示例
下面的代码示例演示如何使用 Seq.exists2。
// Use Seq.exists2 to compare elements in two sequences.
// isEqualElement returns true if any elements at the same position in two supplied
// sequences match.
let isEqualElement seq1 seq2 = Seq.exists2 (fun elem1 elem2 -> elem1 = elem2) seq1 seq2
let seq1to5 = seq { 1 .. 5 }
let seq5to1 = seq { 5 .. -1 .. 1 }
if (isEqualElement seq1to5 seq5to1) then
printfn "Sequences %A and %A have at least one equal element at the same position." seq1to5 seq5to1
else
printfn "Sequences %A and %A do not have any equal elements that are at the same position." seq1to5 seq5to1
Output
平台
Windows 7、Windows Vista SP2、Windows XP SP3、Windows XP x64 SP2、Windows Server 2008 R2、Windows Server 2008 SP2、Windows Server 2003 SP2
版本信息
F# 运行时
受以下版本支持:2.0、4.0
Silverlight
受以下版本支持:3
请参见
参考
Microsoft.FSharp.Collections 命名空间 (F#)
修订记录
Date |
修订记录 |
原因 |
---|---|---|
2010 年 8 月 |
添加了代码示例。 |
信息补充。 |