C# 有关泛型的问题

漫天雪飞 2011-03-16 07:20:54
public class SeqList<T> : IListDS<T>
{
private int maxsize;
private T[] data;
private int last;

public T this[int index]
{
get
{
return data[index];
}
set
{
data[index] = value;
}
}
public int Last
{
get
{
return last;
}
}
public int Maxsize
{
get
{
return maxsize;
}
set
{
maxsize = value;
}
}
public SeqList( int size )
{
data = new T[size];
maxsize = size;
last = -1;
}


这段代码中的 public T this[int index]{}处的this[int index]是调用构造函数 public SeqList(int size){}吗?如果不是请解释下。
...全文
93 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
csproj 2011-03-17
  • 打赏
  • 举报
回复
所以这个索引可以是如何对象
应为"任何"
csproj 2011-03-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hamber_bao 的回复:]
索引器可以基于索引,也可以基于字符串
[/Quote]
这样说不太对,索引器是可以看成带参数的属性,他编译成带参数的get set方法。
所以这个索引可以是如何对象,也可以包含多个索引。
例如这样的索引器
public string this[object a, object b, object c]
{
get {
return a.ToString() + b.ToString() + c.ToString();
}
}
Hamber_Bao 2011-03-17
  • 打赏
  • 举报
回复
你这不是C#泛型的问题

this[int index]是索引器

执行这句代码的时候调用的是你的T[]数组

把index值传进你的T[]类型的data数组中

返回相应的值或对象

索引器可以基于索引,也可以基于字符串
宝_爸 2011-03-16
  • 打赏
  • 举报
回复
不是
public T this[int index] 是indexer

参考:
索引器(C# 编程指南)
http://msdn.microsoft.com/ch-zh/library/6x16t2tx.aspx#Y65
csproj 2011-03-16
  • 打赏
  • 举报
回复
this[int index]
是索引器
使用SeqList<T>[2] 的时候调用它

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧