TyG*_*erX 18 c# indexing list add this
有什么办法可以在特定索引处添加值吗?我尝试做索引器,我有列表.在这种情况下,有没有任何技巧可以做到这一点:D
public class Multime<T>
{
private List<Multime<T>> multiSets;
private List<T> multimea;
***public Multime<T> this[int index]
{
get { return this.Multisets.ElementAt(index); }
set { this.Multisets.CopyTo(value,index); }
}***
public List<Multime<T>> Multisets
{
get { return this.multiSets; }
set { this.multiSets = value; }
}//accesori Multimea de multimi
public List<T> Multimea
{
get { return this.multimea; }
set { this.multimea = value; }
}//Accesori Multime
Run Code Online (Sandbox Code Playgroud)
Dav*_*vid 38
该.Insert()
方法上List<T>
正是为了这个目的:
someList.Insert(2, someValue);
Run Code Online (Sandbox Code Playgroud)
这将修改someList
集合以插入someValue
索引2
,将其他值推送到一个索引.
更多信息在这里.
Jon*_*eet 29
List<T>.Insert
, 也许?
但我建议你可能只想获取/写入 - 而不是插入:
public Multime<T> this[int index]
{
get { return Multisets[index]; }
set { Multisets[index] = value; }
}
Run Code Online (Sandbox Code Playgroud)
请注意,从C#3开始,有更简单的方法来编写这些属性,顺便说一下:
public List<T> Multimea { get; set; }
public List<Multime<T>> Multisets { get; set; }
Run Code Online (Sandbox Code Playgroud)
实际上直接暴露组合集合通常也不是一个好主意 - 这意味着您无法控制这些集合中发生的事情.