Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

จะใช้ตัวสร้างดัชนีใน C # 8.0 ได้อย่างไร


^ Operator - เป็นที่รู้จักกันในนามดัชนีจากตัวดำเนินการสิ้นสุด

ส่งกลับดัชนีที่สัมพันธ์กับการสิ้นสุดของลำดับหรือคอลเลกชัน

เป็นวิธีที่กะทัดรัดและง่ายที่สุดในการค้นหาองค์ประกอบสุดท้ายเมื่อเปรียบเทียบกับวิธีการก่อนหน้านี้

company.listEmployees[^2].Name ="ชื่อพนักงาน 2 ถูกเปลี่ยนชื่อโดยใช้รูปแบบใหม่";

company.listEmployees[^5].Name ="Employee 5 Name Changed using new Syntax";

company.listEmployees[^8].Name ="พนักงาน 8 ชื่อถูกเปลี่ยนโดยใช้รูปแบบใหม่";

ตัวอย่าง

public class Employee{
   public int EmployeeId { get; set; }
   public string Name { get; set; }
   public string Gender { get; set; }
}
public class Company{
   public List<Employee> listEmployees;
   public Company(){
      listEmployees = new List<Employee>();
      listEmployees.Add(new Employee
      { EmployeeId = 1, Name = "SS", Gender = "Male" });
      listEmployees.Add(new Employee
      { EmployeeId = 2, Name = "SSS", Gender = "Female" });
      listEmployees.Add(new Employee
      { EmployeeId = 3, Name = "SSSS", Gender = "Male" });
      listEmployees.Add(new Employee
      { EmployeeId = 4, Name = "EE", Gender = "Female" });
      listEmployees.Add(new Employee
      { EmployeeId = 5, Name = "EEEE", Gender = "Female" });
      listEmployees.Add(new Employee
      { EmployeeId = 6, Name = "TTT", Gender = "Male" });
      listEmployees.Add(new Employee
      { EmployeeId = 7, Name = "FFF", Gender = "Male" });
      listEmployees.Add(new Employee
      { EmployeeId = 8, Name = "GGG", Gender = "Male" });
   }
   public string this[int employeeId]{
      get{
         return listEmployees.
         FirstOrDefault(x => x.EmployeeId == employeeId).Name;
      }
      set{
         listEmployees.
         FirstOrDefault(x => x.EmployeeId == employeeId).Name = value;
      }
   }
}
class Program{
   public static void Main(){
      Company company = new Company();
      Console.WriteLine("Name of Employee with Id = 2: " + company[2]);
      Console.WriteLine("Name of Employee with Id = 5: " + company[5]);
      Console.WriteLine("Name of Employee with Id = 8: " + company[8]);
      System.Console.WriteLine();
      Console.WriteLine("Changing names of employees with Id = 2,5,8");
      company[2] = "Employee 2 Name Changed";
      company[5] = "Employee 5 Name Changed";
      company[8] = "Employee 8 Name Changed";
      System.Console.WriteLine();
      Console.WriteLine("Name of Employee with Id = 2: " + company[2]);
      Console.WriteLine("Name of Employee with Id = 5: " + company[5]);
      Console.WriteLine("Name of Employee with Id = 8: " + company[8]);
      company.listEmployees[^2].Name = "Employee 2 Name Changed using new
      Syntax";
      company.listEmployees[^5].Name = "Employee 5 Name Changed using new
      Syntax";
      company.listEmployees[^8].Name = "Employee 8 Name Changed using new
      Syntax";
      System.Console.WriteLine();
      Console.WriteLine("Name of Employee with Id = 2: " +
      company.listEmployees[^2].Name);
      Console.WriteLine("Name of Employee with Id = 5: " +
      company.listEmployees[^5].Name);
      Console.WriteLine("Name of Employee with Id = 8: " +
      company.listEmployees[^8].Name);
      Console.ReadLine();
   }
}

ผลลัพธ์

Name of Employee with Id = 2: SSS
Name of Employee with Id = 5: EEEE
Name of Employee with Id = 8: GGG
Changing names of employees with Id = 2,5,8
Name of Employee with Id = 2: Employee 2 Name Changed
Name of Employee with Id = 5: Employee 5 Name Changed
Name of Employee with Id = 8: Employee 8 Name Changed
Name of Employee with Id = 2: Employee 2 Name Changed using new Syntax
Name of Employee with Id = 5: Employee 5 Name Changed using new Syntax
Name of Employee with Id = 8: Employee 8 Name Changed using new Syntax