Array.FindLast ジェネリック メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > Array.FindLast ジェネリック メソッドの意味・解説 

Array.FindLast ジェネリック メソッド

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

指定され述語によって定義され条件一致する要素を、Array 全体対象検索し、最もインデックス番号大き要素返します

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

例外例外
例外種類条件

ArgumentNullException

arraynull 参照 (Visual Basic では Nothing) です。

または

matchnull 参照 (Visual Basic では Nothing) です。

解説解説
使用例使用例

FindFindLast、および FindAll の各ジェネリック メソッド次のコード例示します8 つ恐竜の名前で、その内2 つ (1 番目と 5 番目の位置) は "saurus" で終わる名前が格納された、文字列配列作成されます。このコード例では、EndsWithSaurus という名前の検索述語メソッド定義されます。このメソッドは文字パラメータ受け取り入力文字列が "saurus" で終わっているかどうかを示すブール値を返します

Find ジェネリック メソッド配列先頭から走査し次に各要素EndsWithSaurus メソッド渡しますEndsWithSaurus メソッド要素 "Amargasaurus" に対して true返すと、検索停止します

メモメモ

C#Visual Basic では、Predicate<string> デリゲート (Visual Basic では Predicate(Of String)) を明示的に作成する要はありません。これらの言語コンテキストから正しデリゲート推測し自動的に作成します

FindLast ジェネリック メソッド使用して配列末尾から逆方向検索します5 番目の位置要素 "Dilophosaurus" が見つかりますFindAll ジェネリック メソッド使用して、"saurus" で終わるすべての要素格納され配列返します。それらの要素表示されます。

このコード例では、Exists と TrueForAll の各ジェネリック メソッド示されています。

Imports System

Public Class Example

    Public Shared Sub Main()

        Dim dinosaurs() As String
 = { "Compsognathus", _
            "Amargasaurus",   "Oviraptor",
      "Velociraptor", _
            "Deinonychus",    "Dilophosaurus",
  "Gallimimus", _
            "Triceratops" }

        Console.WriteLine()
        For Each dinosaur As
 String In dinosaurs
            Console.WriteLine(dinosaur)
        Next

        Console.WriteLine(vbLf & _
            "Array.Exists(dinosaurs, AddressOf EndsWithSaurus):
 {0}", _
            Array.Exists(dinosaurs, AddressOf EndsWithSaurus))

        Console.WriteLine(vbLf & _
            "Array.TrueForAll(dinosaurs, AddressOf EndsWithSaurus:
 {0}", _
            Array.TrueForAll(dinosaurs, AddressOf EndsWithSaurus))

        Console.WriteLine(vbLf & _
            "Array.Find(dinosaurs, AddressOf EndsWithSaurus):
 {0}", _
            Array.Find(dinosaurs, AddressOf EndsWithSaurus))

        Console.WriteLine(vbLf & _
            "Array.FindLast(dinosaurs, AddressOf EndsWithSaurus):
 {0}", _
            Array.FindLast(dinosaurs, AddressOf EndsWithSaurus))

        Console.WriteLine(vbLf & _
            "Array.FindAll(dinosaurs, AddressOf EndsWithSaurus):")
        Dim subArray() As String
 = _
            Array.FindAll(dinosaurs, AddressOf EndsWithSaurus)

        For Each dinosaur As
 String In subArray
            Console.WriteLine(dinosaur)
        Next
        
    End Sub

    ' Search predicate returns true if a string ends in "saurus".
    Private Shared Function
 EndsWithSaurus(ByVal s As String)
 _
        As Boolean

        ' AndAlso prevents evaluation of the second Boolean
        ' expression if the string is so short that an error
        ' would occur.
        If (s.Length > 5) AndAlso _
            (s.Substring(s.Length - 6).ToLower() = "saurus")
 Then
            Return True
        Else
            Return False
        End If
    End Function
End Class

' This code example produces the following output:
'
'Compsognathus
'Amargasaurus
'Oviraptor
'Velociraptor
'Deinonychus
'Dilophosaurus
'Gallimimus
'Triceratops
'
'Array.Exists(dinosaurs, AddressOf EndsWithSaurus): True
'
'Array.TrueForAll(dinosaurs, AddressOf EndsWithSaurus: False
'
'Array.Find(dinosaurs, AddressOf EndsWithSaurus): Amargasaurus
'
'Array.FindLast(dinosaurs, AddressOf EndsWithSaurus): Dilophosaurus
'
'Array.FindAll(dinosaurs, AddressOf EndsWithSaurus):
'Amargasaurus
'Dilophosaurus
using System;

public class Example
{
    public static void Main()
    {
        string[] dinosaurs = { "Compsognathus", 
            "Amargasaurus",   "Oviraptor",      "Velociraptor",
 
            "Deinonychus",    "Dilophosaurus",  "Gallimimus",
 
            "Triceratops" };

        Console.WriteLine();
        foreach(string dinosaur in
 dinosaurs)
        {
            Console.WriteLine(dinosaur);
        }

        Console.WriteLine(
            "\nArray.Exists(dinosaurs, EndsWithSaurus): {0}", 
            Array.Exists(dinosaurs, EndsWithSaurus));

        Console.WriteLine(
            "\nArray.TrueForAll(dinosaurs, EndsWithSaurus): {0}",
            Array.TrueForAll(dinosaurs, EndsWithSaurus));

        Console.WriteLine(
            "\nArray.Find(dinosaurs, EndsWithSaurus): {0}", 
            Array.Find(dinosaurs, EndsWithSaurus));

        Console.WriteLine(
            "\nArray.FindLast(dinosaurs, EndsWithSaurus): {0}",
            Array.FindLast(dinosaurs, EndsWithSaurus));

        Console.WriteLine(
            "\nArray.FindAll(dinosaurs, EndsWithSaurus):");
        string[] subArray = 
            Array.FindAll(dinosaurs, EndsWithSaurus);

        foreach(string dinosaur in
 subArray)
        {
            Console.WriteLine(dinosaur);
        }
    }

    // Search predicate returns true if a string ends in "saurus".
    private static bool
 EndsWithSaurus(String s)
    {
        if ((s.Length > 5) && 
            (s.Substring(s.Length - 6).ToLower() == "saurus"))
        {
            return true;
        }
        else
        {
            return false;
        }
    }
}

/* This code example produces the following output:

Compsognathus
Amargasaurus
Oviraptor
Velociraptor
Deinonychus
Dilophosaurus
Gallimimus
Triceratops

Array.Exists(dinosaurs, EndsWithSaurus): True

Array.TrueForAll(dinosaurs, EndsWithSaurus): False

Array.Find(dinosaurs, EndsWithSaurus): Amargasaurus

Array.FindLast(dinosaurs, EndsWithSaurus): Dilophosaurus

Array.FindAll(dinosaurs, EndsWithSaurus):
Amargasaurus
Dilophosaurus
 */
using namespace System;

// Search predicate returns true if a string ends in "saurus".
bool EndsWithSaurus(String^ s)
{
    if ((s->Length > 5) && 
        (s->Substring(s->Length - 6)->ToLower() == "saurus"))
    {
        return true;
    }
    else
    {
        return false;
    }
};

void main()
{
    array<String^>^ dinosaurs = { "Compsognathus", 
        "Amargasaurus",   "Oviraptor",      "Velociraptor",
 
        "Deinonychus",    "Dilophosaurus",  "Gallimimus",
 
        "Triceratops" };

    Console::WriteLine();
    for each(String^ dinosaur in dinosaurs
 )
    {
        Console::WriteLine(dinosaur);
    }

    Console::WriteLine("\nArray::Exists(dinosaurs, EndsWithSaurus): {0}",
 
        Array::Exists(dinosaurs, gcnew Predicate<String^>(EndsWithSaurus)));

    Console::WriteLine("\nArray::TrueForAll(dinosaurs, EndsWithSaurus): {0}"
,
        Array::TrueForAll(dinosaurs, gcnew Predicate<String^>(EndsWithSaurus)));

    Console::WriteLine("\nArray::Find(dinosaurs, EndsWithSaurus): {0}",
 
        Array::Find(dinosaurs, gcnew Predicate<String^>(EndsWithSaurus)));

    Console::WriteLine("\nArray::FindLast(dinosaurs, EndsWithSaurus): {0}"
,
        Array::FindLast(dinosaurs, gcnew Predicate<String^>(EndsWithSaurus)));

    Console::WriteLine("\nArray::FindAll(dinosaurs, EndsWithSaurus):");
    array<String^>^ subArray = 
        Array::FindAll(dinosaurs, gcnew Predicate<String^>(EndsWithSaurus));

    for each(String^ dinosaur in subArray)
    {
        Console::WriteLine(dinosaur);
    }
}

/* This code example produces the following output:

Compsognathus
Amargasaurus
Oviraptor
Velociraptor
Deinonychus
Dilophosaurus
Gallimimus
Triceratops

Array::Exists(dinosaurs, EndsWithSaurus): True

Array::TrueForAll(dinosaurs, EndsWithSaurus): False

Array::Find(dinosaurs, EndsWithSaurus): Amargasaurus

Array::FindLast(dinosaurs, EndsWithSaurus): Dilophosaurus

Array::FindAll(dinosaurs, EndsWithSaurus):
Amargasaurus
Dilophosaurus
 */
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Array.FindLast ジェネリック メソッド」の関連用語

Array.FindLast ジェネリック メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Array.FindLast ジェネリック メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS