次の方法で共有


Seq.distinct<'T> 関数 (F#)

エントリの汎用ハッシュと等価比較に従って、重複するエントリを含まないシーケンスを返します。 要素がシーケンス内に複数回出現する場合、2 回目以降の要素は破棄されます。

名前空間/モジュール パス: Microsoft.FSharp.Collections.Seq

アセンブリ: FSharp.Core (FSharp.Core.dll 内)

// Signature:
Seq.distinct : seq<'T> -> seq<'T> (requires equality)

// Usage:
Seq.distinct source

パラメーター

  • source
    型: seq<'T>

    入力シーケンス。

例外

例外

状態

ArgumentNullException

入力シーケンスが null の場合にスローされます。

戻り値

結果のシーケンス。

解説

この関数は、コンパイルされたアセンブリでは Distinct という名前です。 F# 以外の言語から、またはリフレクションを使用してこの関数にアクセスする場合は、この名前を使用します。

使用例

次の例は、Seq.distinct の使い方を示しています。 この例では、数値のバイナリ表現をシーケンスとして生成します。 その後、一意の数値が 0 と 1 だけであることを確認します。

let binary n =
    let rec generateBinary n =
        if (n / 2 = 0) then [n]
        else (n % 2) :: generateBinary (n / 2)
    generateBinary n |> List.rev |> Seq.ofList

printfn "%A" (binary 1024)

let resultSequence = Seq.distinct (binary 1024)
printfn "%A" resultSequence
  

プラットフォーム

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

参照

その他の技術情報

Collections.Seq モジュール (F#)

Microsoft.FSharp.Collections 名前空間 (F#)