Note: Most of the content below is for online information or other friends ' blogs Guest Excerpt
I am a beginner. NET, I hope that the predecessors to teach and exchange
An indexer (Indexer) is a new class member introduced by C # that makes an object in a class as easy and intuitive to reference as an array. Indexers are very similar to properties, but indexers contain index parameters (within []), and indexers are non-named (because this is indexed, so the "name" used in the declaration is this) and can only be applied on instance objects, not directly on the class. A class that defines an indexer allows you to access members of a class using the [] operator, just as you would access an array.
An example is given below:
Look at the code, here is the definition of the class, with an indexer definition in the middle
public class Person
{
Define two fields of information
private string name;
private string password;
Define a Name property to manipulate the name field
public string Name
{
set {name = value;}
get {return name;}
}
Define a Password property to manipulate the Password field
public string Password
{
set {password = value;}
get {return password;}
}
Defines the indexer, the Name field has an index value of 0, and the index value of the password field is 1
public string This[int Index]
{
Get
{
if (index = = 0) return name;
else if (index = = 1) return password;
else return null;
}
Set
{
if (index = = 0) name = value;
else if (index = = 1) password = value;
}
}
}
Here's how to use indexers:
protected void Page_Load (object sender, EventArgs e)
{
Declare and instantiate this class
Person p = new person ();
Using indexers to assign values to two properties of a class
P[0] = "Jarod"; As you can see, the fields in the object can be accessed as easily as an array, "Here's the assignment for name and password."
P[1] = "123456,./";
Use class properties to get two field information
Label1.Text = P.name + "/" + P.password;
}
So far, I think we should have a general grasp, then there are some details to add:
(1) Indicates whether the user can define the name of the index indicator.
A: Cannot use user-defined name is this "index table"
(2) How to avoid the problem of array crossing when using index indicator
This is a question for friends to answer.
(3) Use index indicator to bring us those convenience
A: You can not completely close a field (similar to a property), access the field value as if you were using an array, or modify
————————————— Learning without thinking is a myth, but thinking without learning is ———————————————————
C # Beginner's indexer (Indexer)