^Operator − It is called the indexing operator from the end.
It returns the index relative to the end of the sequence or collection.
Compared with the previous method, it is the most concise and simple way to find the last element.
methods.company.listEmployees[^2].Name = "Employee 2 name changed using new syntax";
company.listEmployees[^5].Name = "Changed using new syntax Name of employee 5";
company.listEmployees[^8].Name = "Name of employee 8 changed using new syntax";
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
The above is the detailed content of How to use indexers in C# 8.0?. For more information, please follow other related articles on the PHP Chinese website!