- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to use indexers in C# 8.0?
^ Operator − It is known as the index from the end operator.
It returns an index that is relative to the end of the sequence or collection.
It is the most compact and easiest way to find the end elements compare to earlier methods.
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";
Example
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(); } }
Output
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
Advertisements