List<T>.FindIndex List<T>.FindIndex List<T>.FindIndex List<T>.FindIndex Method

Definition

Sucht nach einem Element, das die durch ein angegebenes Prädikat definierten Bedingungen erfüllt, und gibt den nullbasierten Index des ersten Vorkommens in der List<T> oder einem Teil davon zurück.Searches for an element that matches the conditions defined by a specified predicate, and returns the zero-based index of the first occurrence within the List<T> or a portion of it. Diese Methode gibt -1 zurück, wenn kein Element gefunden wird, das den Bedingungen entspricht.This method returns -1 if an item that matches the conditions is not found.

Überlädt

FindIndex(Predicate<T>) FindIndex(Predicate<T>) FindIndex(Predicate<T>) FindIndex(Predicate<T>)

Sucht nach einem Element, das die durch das angegebene Prädikat definierten Bedingungen erfüllt, und gibt den nullbasierten Index des ersten Vorkommens im gesamten List<T> zurück.Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire List<T>.

FindIndex(Int32, Predicate<T>) FindIndex(Int32, Predicate<T>) FindIndex(Int32, Predicate<T>) FindIndex(Int32, Predicate<T>)

Sucht nach einem Element, das die durch das angegebene Prädikat definierten Bedingungen erfüllt, und gibt den nullbasierten Index des ersten Vorkommens innerhalb des Bereichs von Elementen im List<T> zurück, der vom angegebenen Index bis zum letzten Element reicht.Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the List<T> that extends from the specified index to the last element.

FindIndex(Int32, Int32, Predicate<T>) FindIndex(Int32, Int32, Predicate<T>) FindIndex(Int32, Int32, Predicate<T>) FindIndex(Int32, Int32, Predicate<T>)

Sucht nach einem Element, das die durch das angegebene Prädikat definierten Bedingungen erfüllt, und gibt den nullbasierten Index des ersten Vorkommens innerhalb des Bereichs von Elementen im List<T> zurück, der am angegebenen Index beginnt und die angegebene Anzahl von Elementen umfasst.Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the List<T> that starts at the specified index and contains the specified number of elements.

FindIndex(Predicate<T>) FindIndex(Predicate<T>) FindIndex(Predicate<T>) FindIndex(Predicate<T>)

Sucht nach einem Element, das die durch das angegebene Prädikat definierten Bedingungen erfüllt, und gibt den nullbasierten Index des ersten Vorkommens im gesamten List<T> zurück.Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire List<T>.

public:
 int FindIndex(Predicate<T> ^ match);
public int FindIndex (Predicate<T> match);
member this.FindIndex : Predicate<'T> -> int
Public Function FindIndex (match As Predicate(Of T)) As Integer

Parameter

match
Predicate<T> Predicate<T> Predicate<T> Predicate<T>

Der Predicate<T>-Delegat, der die Bedingungen für das Element definiert, nach dem gesucht werden soll.The Predicate<T> delegate that defines the conditions of the element to search for.

Gibt zurück

Der nullbasierte Index des ersten Vorkommens eines Elements, das mit den durch match definierten Bedingungen übereinstimmt, sofern gefunden; andernfalls -1.The zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, -1.

Ausnahmen

Beispiele

Im folgenden Beispiel wird eine Employee -Klasse mit zwei Feldern Name definiert Id: und.The following example defines an Employee class with two fields, Name and Id. Außerdem wird eine EmployeeSearch -Klasse mit der einzelnen StartsWithMethode definiert, die angibt, ob Employee.Name das Feld mit einer angegebenen Teil Zeichenfolge beginnt, die EmployeeSearch für den Klassenkonstruktor bereitgestellt wird.It also defines an EmployeeSearch class with a single method, StartsWith, that indicates whether the Employee.Name field starts with a specified substring that is supplied to the EmployeeSearch class constructor. Beachten Sie die Signatur dieser Methode.Note the signature of this method

public bool StartsWith(Employee e)  
Public Function StartsWith(e As Employee) As Boolean  

entspricht der Signatur des Delegaten, der an die FindIndex -Methode übermittelt werden kann.corresponds to the signature of the delegate that can be passed to the FindIndex method. Im Beispiel wird List<Employee> ein-Objekt instanziiert, eine Reihe von Employee -Objekten hinzugefügt und dann die FindIndex(Int32, Int32, Predicate<T>) -Methode zweimal aufgerufen, um die gesamte Auflistung zu durchsuchen, beim Employee ersten Objekt Name , dessen Feld beginnt. mit "J" und dem zweiten Mal für das erste Employee Objekt, dessen Name Feld mit "Ju" beginnt.The example instantiates a List<Employee> object, adds a number of Employee objects to it, and then calls the FindIndex(Int32, Int32, Predicate<T>) method twice to search the entire collection, the first time for the first Employee object whose Name field begins with "J", and the second time for the first Employee object whose Name field begins with "Ju".

using System;
using System.Collections.Generic;

public class Employee : IComparable
{
   public String Name { get; set; }
   public int Id { get; set; }

   public int CompareTo(Object o )
   {
      Employee e = o as Employee;
      if (e == null)
         throw new ArgumentException("o is not an Employee object.");

      return Name.CompareTo(e.Name);
   }
}

public class EmployeeSearch
{
   String _s;

   public EmployeeSearch(String s)
   {
      _s = s;
   }

   public bool StartsWith(Employee e)
   {
      return e.Name.StartsWith(_s, StringComparison.InvariantCultureIgnoreCase);
   }
}

public class Example
{
   public static void Main()
   {
      var employees = new List<Employee>();
      employees.AddRange( new Employee[] { new Employee { Name = "Frank", Id = 2 },
                                           new Employee { Name = "Jill", Id = 3 },
                                           new Employee { Name = "Dave", Id = 5 },
                                           new Employee { Name = "Jack", Id = 8 },
                                           new Employee { Name = "Judith", Id = 12 },
                                           new Employee { Name = "Robert", Id = 14 },
                                           new Employee { Name = "Adam", Id = 1 } } );
      employees.Sort();

      var es = new EmployeeSearch("J");
      Console.WriteLine("'J' starts at index {0}",
                        employees.FindIndex(es.StartsWith));

      es = new EmployeeSearch("Ju");
      Console.WriteLine("'Ju' starts at index {0}",
                        employees.FindIndex(es.StartsWith));
   }
}
// The example displays the following output:
//       'J' starts at index 3
//       'Ju' starts at index 5
Imports System.Collections.Generic

Public Class Employee : Implements IComparable
   Public Property Name As String
   Public Property Id As Integer
   
   Public Function CompareTo(o As Object) As Integer _
         Implements IComparable.CompareTo
      Dim e As Employee = TryCast(o, Employee)
      If e Is Nothing Then
         Throw New ArgumentException("o is not an Employee object.")
      End If

      Return Name.CompareTo(e.Name)
   End Function
End Class

Public Class EmployeeSearch
   Dim _s As String
   
   Public Sub New(s As String)
      _s = s
   End Sub
   
   Public Function StartsWith(e As Employee) As Boolean
      Return e.Name.StartsWith(_s, StringComparison.InvariantCultureIgnoreCase)
   End Function
End Class

Module Example
   Public Sub Main()
      Dim employees As New List(Of Employee)()
      employees.AddRange( { New Employee() With { .Name = "Frank", .Id = 2 },
                            New Employee() With { .Name = "Jill", .Id = 3 },
                            New Employee() With { .Name = "Dave", .Id = 5 },
                            New Employee() With { .Name = "Jack", .Id = 8 },
                            New Employee() With { .Name = "Judith", .Id = 12 },
                            New Employee() With { .Name = "Robert", .Id = 14 },
                            New Employee() With { .Name = "Adam", .Id = 1 } } )
      employees.Sort()

      Dim es As New EmployeeSearch("J")
      Console.WriteLine("'J' starts at index {0}",
                        employees.FindIndex(AddressOf es.StartsWith))
      es = New EmployeeSearch("Ju")
      Console.WriteLine("'Ju' starts at index {0}",
                        employees.FindIndex(AddressOf es.StartsWith))
   End Sub
End Module
' The example displays the following output:
'       'J' starts at index 3
'       'Ju' starts at index 5

Hinweise

Der List<T> wird nach vorne durchsucht, beginnend beim ersten Element und endet beim letzten Element.The List<T> is searched forward starting at the first element and ending at the last element.

Der Predicate<T> ist ein Delegat für eine Methode, true die zurückgibt, wenn das an Sie übergebenen Objekt mit den im Delegaten definierten Bedingungen übereinstimmt.The Predicate<T> is a delegate to a method that returns true if the object passed to it matches the conditions defined in the delegate. Die Elemente der aktuellen List<T> werden einzeln an den Predicate<T> -Delegaten übermittelt.The elements of the current List<T> are individually passed to the Predicate<T> delegate. Der Delegat hat die Signatur:The delegate has the signature:

public bool methodName(T obj)  
Public Function methodName(obj As T) As Boolean  

Diese Methode führt eine lineare Suche aus. Daher ist diese Methode ein O (n)-Vorgang, wobei n gleich Countist.This method performs a linear search; therefore, this method is an O(n) operation, where n is Count.

Siehe auch

FindIndex(Int32, Predicate<T>) FindIndex(Int32, Predicate<T>) FindIndex(Int32, Predicate<T>) FindIndex(Int32, Predicate<T>)

Sucht nach einem Element, das die durch das angegebene Prädikat definierten Bedingungen erfüllt, und gibt den nullbasierten Index des ersten Vorkommens innerhalb des Bereichs von Elementen im List<T> zurück, der vom angegebenen Index bis zum letzten Element reicht.Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the List<T> that extends from the specified index to the last element.

public:
 int FindIndex(int startIndex, Predicate<T> ^ match);
public int FindIndex (int startIndex, Predicate<T> match);
member this.FindIndex : int * Predicate<'T> -> int
Public Function FindIndex (startIndex As Integer, match As Predicate(Of T)) As Integer

Parameter

startIndex
Int32 Int32 Int32 Int32

Der nullbasierte Startindex für die Suche.The zero-based starting index of the search.

match
Predicate<T> Predicate<T> Predicate<T> Predicate<T>

Der Predicate<T>-Delegat, der die Bedingungen für das Element definiert, nach dem gesucht werden soll.The Predicate<T> delegate that defines the conditions of the element to search for.

Gibt zurück

Der nullbasierte Index des ersten Vorkommens eines Elements, das mit den durch match definierten Bedingungen übereinstimmt, sofern gefunden; andernfalls -1.The zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, -1.

Ausnahmen

startIndex liegt außerhalb des Bereichs der gültigen Indizes für das List<T>.startIndex is outside the range of valid indexes for the List<T>.

Beispiele

Im folgenden Beispiel wird eine Employee -Klasse mit zwei Feldern Name definiert Id: und.The following example defines an Employee class with two fields, Name and Id. Außerdem wird eine EmployeeSearch -Klasse mit der einzelnen StartsWithMethode definiert, die angibt, ob Employee.Name das Feld mit einer angegebenen Teil Zeichenfolge beginnt, die EmployeeSearch für den Klassenkonstruktor bereitgestellt wird.It also defines an EmployeeSearch class with a single method, StartsWith, that indicates whether the Employee.Name field starts with a specified substring that is supplied to the EmployeeSearch class constructor. Beachten Sie die Signatur dieser Methode.Note the signature of this method

public bool StartsWith(Employee e)  
Public Function StartsWith(e As Employee) As Boolean  

entspricht der Signatur des Delegaten, der an die FindIndex -Methode übermittelt werden kann.corresponds to the signature of the delegate that can be passed to the FindIndex method. Im Beispiel wird ein List<Employee> -Objekt instanziiert, eine Reihe von Employee -Objekten hinzugefügt und dann die FindIndex(Int32, Int32, Predicate<T>) -Methode zweimal aufgerufen, um die Auflistung beginnend mit ihrem fünften Element (d. h. dem-Member bei Index 4) zu durchsuchen.The example instantiates a List<Employee> object, adds a number of Employee objects to it, and then calls the FindIndex(Int32, Int32, Predicate<T>) method twice to search the collection starting with its fifth member (that is, the member at index 4). Beim ersten Mal sucht die Anwendung nach dem ersten Employee Objekt, Name dessen Feld mit "J" beginnt. beim zweiten Mal wird nach dem ersten Employee Objekt gesucht, Name dessen Feld mit "Ju" beginnt.The first time, it searches for the first Employee object whose Name field begins with "J"; the second time, it searches for the first Employee object whose Name field begins with "Ju".

using System;
using System.Collections.Generic;

public class Employee : IComparable
{
   public String Name { get; set; }
   public int Id { get; set; }

   public int CompareTo(Object o )
   {
      Employee e = o as Employee;
      if (e == null)
         throw new ArgumentException("o is not an Employee object.");

      return Name.CompareTo(e.Name);
   }
}

public class EmployeeSearch
{
   String _s;

   public EmployeeSearch(String s)
   {
      _s = s;
   }

   public bool StartsWith(Employee e)
   {
      return e.Name.StartsWith(_s, StringComparison.InvariantCultureIgnoreCase);
   }
}

public class Example
{
   public static void Main()
   {
      var employees = new List<Employee>();
      employees.AddRange( new Employee[] { new Employee { Name = "Frank", Id = 2 },
                                           new Employee { Name = "Jill", Id = 3 },
                                           new Employee { Name = "Dave", Id = 5 },
                                           new Employee { Name = "Jack", Id = 8 },
                                           new Employee { Name = "Judith", Id = 12 },
                                           new Employee { Name = "Robert", Id = 14 },
                                           new Employee { Name = "Adam", Id = 1 } } );
      employees.Sort();

      var es = new EmployeeSearch("J");
      int index = employees.FindIndex(4, es.StartsWith);        
      Console.WriteLine("Starting index of'J': {0}",
                        index >= 0 ? index.ToString() : "Not found");

      es = new EmployeeSearch("Ju");
      index = employees.FindIndex(4, es.StartsWith);        
      Console.WriteLine("Starting index of 'Ju': {0}",
                        index >= 0 ? index.ToString() : "Not found");
   }
}
// The example displays the following output:
//       'J' starts at index 4
//       'Ju' starts at index 5
Imports System.Collections.Generic

Public Class Employee : Implements IComparable
   Public Property Name As String
   Public Property Id As Integer
   
   Public Function CompareTo(o As Object) As Integer _
         Implements IComparable.CompareTo
      Dim e As Employee = TryCast(o, Employee)
      If e Is Nothing Then
         Throw New ArgumentException("o is not an Employee object.")
      End If

      Return Name.CompareTo(e.Name)
   End Function
End Class

Public Class EmployeeSearch
   Dim _s As String
   
   Public Sub New(s As String)
      _s = s
   End Sub
   
   Public Function StartsWith(e As Employee) As Boolean
      Return e.Name.StartsWith(_s, StringComparison.InvariantCultureIgnoreCase)
   End Function
End Class

Module Example
   Public Sub Main()
      Dim employees As New List(Of Employee)()
      employees.AddRange( { New Employee() With { .Name = "Frank", .Id = 2 },
                            New Employee() With { .Name = "Jill", .Id = 3 },
                            New Employee() With { .Name = "Dave", .Id = 5 },
                            New Employee() With { .Name = "Jack", .Id = 8 },
                            New Employee() With { .Name = "Judith", .Id = 12 },
                            New Employee() With { .Name = "Robert", .Id = 14 },
                            New Employee() With { .Name = "Adam", .Id = 1 } } )
      employees.Sort()

      Dim es As New EmployeeSearch("J")
      Dim index As Integer = employees.FindIndex(4, AddressOf es.StartsWith)        
      Console.WriteLine("Starting index of'J': {0}",
                        If(index >= 0, index.ToString(), "Not found"))

      es = New EmployeeSearch("Ju")
      index = employees.FindIndex(4, AddressOf es.StartsWith) 
      Console.WriteLine("Starting index of'Ju': {0}",
                        If(index >= 0, index.ToString(), "Not found"))

   End Sub
End Module
' The example displays the following output:
'       'J' starts at index 4
'       'Ju' starts at index 5

Hinweise

Der List<T> wird nach vorne durchsucht startIndex , beginnend bei und endet beim letzten Element.The List<T> is searched forward starting at startIndex and ending at the last element.

Der Predicate<T> ist ein Delegat für eine Methode, true die zurückgibt, wenn das an Sie übergebenen Objekt mit den im Delegaten definierten Bedingungen übereinstimmt.The Predicate<T> is a delegate to a method that returns true if the object passed to it matches the conditions defined in the delegate. Die Elemente der aktuellen List<T> werden einzeln an den Predicate<T> -Delegaten übermittelt.The elements of the current List<T> are individually passed to the Predicate<T> delegate. Der Delegat hat die Signatur:The delegate has the signature:

public bool methodName(T obj)  
Public Function methodName(obj As T) As Boolean  

Diese Methode führt eine lineare Suche aus. Daher ist diese Methode ein O (n)-Vorgang, wobei n die Anzahl der Elemente von startIndex bis zum Ende der List<T>ist.This method performs a linear search; therefore, this method is an O(n) operation, where n is the number of elements from startIndex to the end of the List<T>.

Siehe auch

FindIndex(Int32, Int32, Predicate<T>) FindIndex(Int32, Int32, Predicate<T>) FindIndex(Int32, Int32, Predicate<T>) FindIndex(Int32, Int32, Predicate<T>)

Sucht nach einem Element, das die durch das angegebene Prädikat definierten Bedingungen erfüllt, und gibt den nullbasierten Index des ersten Vorkommens innerhalb des Bereichs von Elementen im List<T> zurück, der am angegebenen Index beginnt und die angegebene Anzahl von Elementen umfasst.Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the List<T> that starts at the specified index and contains the specified number of elements.

public:
 int FindIndex(int startIndex, int count, Predicate<T> ^ match);
public int FindIndex (int startIndex, int count, Predicate<T> match);
member this.FindIndex : int * int * Predicate<'T> -> int
Public Function FindIndex (startIndex As Integer, count As Integer, match As Predicate(Of T)) As Integer

Parameter

startIndex
Int32 Int32 Int32 Int32

Der nullbasierte Startindex für die Suche.The zero-based starting index of the search.

count
Int32 Int32 Int32 Int32

Die Anzahl der Elemente im zu durchsuchenden Abschnitt.The number of elements in the section to search.

match
Predicate<T> Predicate<T> Predicate<T> Predicate<T>

Der Predicate<T>-Delegat, der die Bedingungen für das Element definiert, nach dem gesucht werden soll.The Predicate<T> delegate that defines the conditions of the element to search for.

Gibt zurück

Der nullbasierte Index des ersten Vorkommens eines Elements, das mit den durch match definierten Bedingungen übereinstimmt, sofern gefunden; andernfalls -1.The zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, -1.

Ausnahmen

startIndex liegt außerhalb des Bereichs der gültigen Indizes für das List<T>.startIndex is outside the range of valid indexes for the List<T>.

- oder --or- count ist kleiner als 0.count is less than 0.

- oder --or- startIndex und count geben keinen gültigen Abschnitt in der List<T> an.startIndex and count do not specify a valid section in the List<T>.

Beispiele

Im folgenden Beispiel wird eine Employee -Klasse mit zwei Feldern Name definiert Id: und.The following example defines an Employee class with two fields, Name and Id. Außerdem wird eine EmployeeSearch -Klasse mit der einzelnen StartsWithMethode definiert, die angibt, ob Employee.Name das Feld mit einer angegebenen Teil Zeichenfolge beginnt, die EmployeeSearch für den Klassenkonstruktor bereitgestellt wird.It also defines an EmployeeSearch class with a single method, StartsWith, that indicates whether the Employee.Name field starts with a specified substring that is supplied to the EmployeeSearch class constructor. Beachten Sie die Signatur dieser Methode.Note the signature of this method

public bool StartsWith(Employee e)  
Public Function StartsWith(e As Employee) As Boolean  

entspricht der Signatur des Delegaten, der an die FindIndex -Methode übermittelt werden kann.corresponds to the signature of the delegate that can be passed to the FindIndex method. Im Beispiel wird List<Employee> ein-Objekt instanziiert, eine Reihe von Employee -Objekten hinzugefügt und dann die FindIndex(Int32, Int32, Predicate<T>) -Methode zweimal aufgerufen, um die gesamte Auflistung (d. h. die Elemente von Index Count 0 bis Index-1) zu durchsuchen.The example instantiates a List<Employee> object, adds a number of Employee objects to it, and then calls the FindIndex(Int32, Int32, Predicate<T>) method twice to search the entire collection (that is, the members from index 0 to index Count - 1). Beim ersten Mal sucht die Anwendung nach dem ersten Employee Objekt, Name dessen Feld mit "J" beginnt. beim zweiten Mal wird nach dem ersten Employee Objekt gesucht, Name dessen Feld mit "Ju" beginnt.The first time, it searches for the first Employee object whose Name field begins with "J"; the second time, it searches for the first Employee object whose Name field begins with "Ju".

using System;
using System.Collections.Generic;

public class Employee : IComparable
{
   public String Name { get; set; }
   public int Id { get; set; }

   public int CompareTo(Object o )
   {
      Employee e = o as Employee;
      if (e == null)
         throw new ArgumentException("o is not an Employee object.");

      return Name.CompareTo(e.Name);
   }
}

public class EmployeeSearch
{
   String _s;

   public EmployeeSearch(String s)
   {
      _s = s;
   }

   public bool StartsWith(Employee e)
   {
      return e.Name.StartsWith(_s, StringComparison.InvariantCultureIgnoreCase);
   }
}

public class Example
{
   public static void Main()
   {
      var employees = new List<Employee>();
      employees.AddRange( new Employee[] { new Employee { Name = "Frank", Id = 2 },
                                           new Employee { Name = "Jill", Id = 3 },
                                           new Employee { Name = "Dave", Id = 5 },
                                           new Employee { Name = "Jack", Id = 8 },
                                           new Employee { Name = "Judith", Id = 12 },
                                           new Employee { Name = "Robert", Id = 14 },
                                           new Employee { Name = "Adam", Id = 1 } } );
      employees.Sort();

      var es = new EmployeeSearch("J");
      Console.WriteLine("'J' starts at index {0}",
                        employees.FindIndex(0, employees.Count - 1, es.StartsWith));

      es = new EmployeeSearch("Ju");
      Console.WriteLine("'Ju' starts at index {0}",
                        employees.FindIndex(0, employees.Count - 1,es.StartsWith));
   }
}
// The example displays the following output:
//       'J' starts at index 3
//       'Ju' starts at index 5
Imports System.Collections.Generic

Public Class Employee : Implements IComparable
   Public Property Name As String
   Public Property Id As Integer
   
   Public Function CompareTo(o As Object) As Integer _
         Implements IComparable.CompareTo
      Dim e As Employee = TryCast(o, Employee)
      If e Is Nothing Then
         Throw New ArgumentException("o is not an Employee object.")
      End If

      Return Name.CompareTo(e.Name)
   End Function
End Class

Public Class EmployeeSearch
   Dim _s As String
   
   Public Sub New(s As String)
      _s = s
   End Sub
   
   Public Function StartsWith(e As Employee) As Boolean
      Return e.Name.StartsWith(_s, StringComparison.InvariantCultureIgnoreCase)
   End Function
End Class

Module Example
   Public Sub Main()
      Dim employees As New List(Of Employee)()
      employees.AddRange( { New Employee() With { .Name = "Frank", .Id = 2 },
                            New Employee() With { .Name = "Jill", .Id = 3 },
                            New Employee() With { .Name = "Dave", .Id = 5 },
                            New Employee() With { .Name = "Jack", .Id = 8 },
                            New Employee() With { .Name = "Judith", .Id = 12 },
                            New Employee() With { .Name = "Robert", .Id = 14 },
                            New Employee() With { .Name = "Adam", .Id = 1 } } )
      employees.Sort()

      Dim es As New EmployeeSearch("J")
      Console.WriteLine("'J' starts at index {0}",
                        employees.FindIndex(0, employees.Count - 1,
                                            AddressOf es.StartsWith))
      es = New EmployeeSearch("Ju")
      Console.WriteLine("'Ju' starts at index {0}",
                        employees.FindIndex(0, employees.Count - 1,
                                            AddressOf es.StartsWith))
   End Sub
End Module
' The example displays the following output:
'       'J' starts at index 3
'       'Ju' starts at index 5

Hinweise

Der List<T> wird nach vorne durchsucht startIndex , beginnend bei startIndex und count endet bei plus 1 count , wenn größer als 0 ist.The List<T> is searched forward starting at startIndex and ending at startIndex plus count minus 1, if count is greater than 0.

Der Predicate<T> ist ein Delegat für eine Methode, true die zurückgibt, wenn das an Sie übergebenen Objekt mit den im Delegaten definierten Bedingungen übereinstimmt.The Predicate<T> is a delegate to a method that returns true if the object passed to it matches the conditions defined in the delegate. Die Elemente der aktuellen List<T> werden einzeln an den Predicate<T> -Delegaten übermittelt.The elements of the current List<T> are individually passed to the Predicate<T> delegate. Der Delegat hat die Signatur:The delegate has the signature:

public bool methodName(T obj)  
Public Function methodName(obj As T) As Boolean  

Diese Methode führt eine lineare Suche aus. Daher ist diese Methode ein O (n)-Vorgang, wobei n gleich countist.This method performs a linear search; therefore, this method is an O(n) operation, where n is count.

Siehe auch

Gilt für: