Indexers allow instances of a class to be indexed just like arrays.
Session["Session1"] = "Session 1 Data";
Session["Session2"] = "Session 2 Data";
Response.Write("Session 1 Data = "+ Session[0].ToString());
Response.Write("<br />");
Response.Write("Session 2 Data = " + Session["Session2"].ToString());
---------------------------------------
string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS))
{
SqlCommand cmd = new SqlCommand("Select * from tblEmployee", con);
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
Response.Write("Id = " + rdr[0].ToString() + " ");
Response.Write("Name = " + rdr["Name"].ToString());
Response.Write("<br/>");
}
}
========================================company.c
namespace indexDemo
{
public class Employee
{
public int EmployeeId { get; set; }
public string Name { get; set; }
public string Gender { get; set; }
}
public class Company
{
private List<Employee> listEmployees;
public Company()
{
listEmployees = new List<Employee>();
listEmployees.Add(new Employee() { EmployeeId = 1, Name = "Mike", Gender = "Male" });
listEmployees.Add(new Employee() { EmployeeId = 2, Name = "Pam", Gender = "Female" });
}
public string this[int employeeId]
{
get
{
return listEmployees.FirstOrDefault(emp => emp.EmployeeId == employeeId).Name;
}
set
{
listEmployees.FirstOrDefault(emp => emp.EmployeeId == employeeId).Name = value;
}
}
public string this[string Gender]
{
get
{
return listEmployees.Count(emp => emp.Gender == Gender).ToString();
}
set
{
foreach (Employee employee in listEmployees)
{
if (employee.Gender == Gender)
{
employee.Gender = value;
}
}
}
}
}
}
--------------------webpage.aspx
Company c1 = new Company();
Response.Write("2nd employee of name = " + c1[2].ToString());
Response.Write("<br/>");
c1[2] = "Mark";
Response.Write("2nd employee of name = " + c1[2].ToString());
Response.Write("<br/>");
Response.Write("<br/>");
Response.Write("Total Male Employees = " + c1["Male"]);
Response.Write("<br/>");
Response.Write("Total Female Employees = " + c1["Female"]);
Response.Write("<br/>");
Response.Write("<br/>");
c1["Male"] = "Female";
Response.Write("Total Male Employees = " + c1["Male"]);
Response.Write("<br/>");
Response.Write("Total Female Employees = " + c1["Female"]);
Response.Write("<br/>");
================================