使用索引器,可以很快的通过序号或标识来找操作集合对象,它有点儿像属性,可以让我们像访问字典一样的访问对象,非常迅速,并且省事。
索引器定义如下格式:
修饰符 数据类型 this [ 索引类型 参数]
{
get{ return 要返回的值;}
set{ 存放值的变量=value;}
}
实例如下:
//用户实体
class SampleUser
{
private string name;
private int age;
private bool sex;
public string Name
{
get { return name; }
set { name = value; }
}
public int Age
{
get { return age; }
set { age = value; }
}
public bool Sex
{
get { return sex; }
set { sex = value; }
}
}
//创建索引器
class SampleArray<T>
{
//定义集合的大小
private T[] arr=new T[100];
public T this[int index]
{
get {
if (index>=100)
throw new IndexOutOfRangeException();
else
return arr[index];
}
set
{
if (index < 0 || index >= 100)
{
throw new IndexOutOfRangeException();
}
arr[index] = value;
}
}
}
static void Main(string[] args)
{
SampleArray<SampleUser> TUser = new SampleArray<SampleUser>();
for(int i=0;i<12;i++)
{
SampleUser SampleUse = new SampleUser();
SampleUse.Name = ((char)i).ToString();
SampleUse.Age = i + 12;
SampleUse.Sex = (i % 2 == 0);
TUser[i] = SampleUse;
}
Console.WriteLine(TUser[2].Name);
Console.ReadLine();
}
class SampleUser
{
private string name;
private int age;
private bool sex;
public string Name
{
get { return name; }
set { name = value; }
}
public int Age
{
get { return age; }
set { age = value; }
}
public bool Sex
{
get { return sex; }
set { sex = value; }
}
}
//创建索引器
class SampleArray<T>
{
//定义集合的大小
private T[] arr=new T[100];
public T this[int index]
{
get {
if (index>=100)
throw new IndexOutOfRangeException();
else
return arr[index];
}
set
{
if (index < 0 || index >= 100)
{
throw new IndexOutOfRangeException();
}
arr[index] = value;
}
}
}
static void Main(string[] args)
{
SampleArray<SampleUser> TUser = new SampleArray<SampleUser>();
for(int i=0;i<12;i++)
{
SampleUser SampleUse = new SampleUser();
SampleUse.Name = ((char)i).ToString();
SampleUse.Age = i + 12;
SampleUse.Sex = (i % 2 == 0);
TUser[i] = SampleUse;
}
Console.WriteLine(TUser[2].Name);
Console.ReadLine();
}
Js,Firmly put your fade
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)