Csharp/CSharp Tutorial/LINQ/ElementAt

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Calling the ElementAt Operator

<source lang="csharp">using System; using System.Linq; using System.Collections; using System.Collections.Generic; public class Employee {

   public int id;
   public string firstName;
   public string lastName;
   public static ArrayList GetEmployeesArrayList() {
       ArrayList al = new ArrayList();
       al.Add(new Employee { id = 1, firstName = "J", lastName = "R" });
       al.Add(new Employee { id = 2, firstName = "W", lastName = "G" });
       al.Add(new Employee { id = 3, firstName = "A", lastName = "H" });
       al.Add(new Employee { id = 4, firstName = "D", lastName = "L" });
       al.Add(new Employee { id = 101, firstName = "K", lastName = "F" });
       return (al);
   }
   public static Employee[] GetEmployeesArray() {
       return ((Employee[])GetEmployeesArrayList().ToArray(typeof(Employee)));
   }

} public class MainClass {

   public static void Main() {
       Employee emp = Employee.GetEmployeesArray().ElementAt(3);
       Console.WriteLine("{0} {1}", emp.firstName, emp.lastName);
   }

}</source>

The element operators extract one element from the input sequence

<source lang="csharp">//First, Last, Single, and ElementAt using System; using System.Collections.Generic; using System.Linq; public class MainClass {

   public static void Main() {
       int[] numbers = { 10, 9, 8, 7, 6 };
       int firstNumber = numbers.First();    
       int lastNumber = numbers.Last();      
       int secondNumber = numbers.ElementAt(1);
       int lowestNumber = numbers.OrderBy(n => n).First();
   }

}</source>

Use ElementAt to print the fourth number less that 5 in an integer array

<source lang="csharp">using System; using System.Collections.Generic; using System.Linq; using System.Text; public class MainClass {

   public static void Main() {
       int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
       int fourthLowNum = (
           from n in numbers
           where n < 5
           select n)
           .ElementAt(3); // 3 because sequences use 0-based indexing
       Console.WriteLine("Fourth number < 5: {0}", fourthLowNum);
   }

}</source>

Using ElementAt

<source lang="csharp">using System; using System.Collections; using System.Collections.Generic; using System.Text; using System.Linq; public class MainClass{

  public static void Main(){
           int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9};
           var query = numbers.ElementAt(4);
           Console.Write(query);
  }

}</source>