【发布时间】:2017-06-09 21:23:04
【问题描述】:
我尝试创建一个索引器来访问“自己的类”的“列表”的“排序列表”,如下所示:
var vect = new vectAttivita();
//insert like this
vect["John"] = {"math","3cat",30,""};
//read like this
string _class = activity["John"][0].materia;
//and read like this too
string _class = activity[0][0].materia;
我的代码自上次发布以来已更新:
public class vectAttivita
{
public SortedList<string, listAttivita> _Inner = new SortedList<string, listAttivita>();
public void Add(string key)
{
_Inner.Add(key, null);
}
public SortedList<string, listAttivita> this[int i]
{
get
{
return _Inner.Values[i]; // <-- Error 1
}
set
{
_Inner.Values[i] = value; // <-- Error 2
}
}
}
public class listAttivita
{
//public string nome;
public List<Attivita> listAtt = new List<Attivita>();
public listAttivita()
{
//this.nome = nomeAttivit;
}
public void Add(string materia, string ufc, ushort ore, string aulaLabo)
{
listAtt.Add(new Attivita(materia, ufc, ore, aulaLabo));
}
public void Add(Attivita att)
{
listAtt.Add(att);
}
}
public class Attivita
{
public string materia;
public string ufc;
public ushort ore;
public string aulaLab;
public Attivita(string materia, string ufc, ushort ore, string aulaLabo)
{
this.materia = materia;
this.ufc = ufc;
this.ore = ore;
this.aulaLab = aulaLabo;
}
}
英文是:“cs0029 不能隐式转换类型...”
Error1: Errore CS0029 Non è possibile convertire in modo implicito il tipo 'Estrazione_Excel01.listAttivita' in 'System.Collections.Generic.SortedList'
Error2: Errore CS0029 Non è possibile convertire in modo implicito il tipo 'System.Collections.Generic.SortedList' in 'Estrazione_Excel01.listAttivita'
我如何摆脱困境?
【问题讨论】:
-
你从哪里得到“matrAttivita”?我在链接中看不到它,该链接似乎是字典值内的嵌套字典。也不是用户创建的 Attivita 类。标题和单词 2-dim 也是错误的,您正在尝试处理数组数组,或者另一个术语是锯齿状数组。 Differences in arrays
-
你说得对,我编辑了,谢谢! matrAttivita 是由我在链接中的代码启发下编写的。但我想我找到了我需要的覆盖。
-
我会问你想通过创建一个数组来完成什么;因为有时人们做事的方式是错误的。如果您只想要不同事物(字符串/整数)的“列表”。我个人会创建一个说员工的类。然后使用 Dictionary
,这不仅使您可以轻松索引 键,而且具有可以包含您可能想要的所有内容的值。 -
也许我不清楚我想做什么!事实上,这是我第一次尝试创建这样的复杂数据结构。我已经编辑了我的第一篇文章和我的进步问题......希望现在更加专注!非常感谢...
-
首先代码
string class =不是您想要做的事情,因为class 是一个保留字。其次,如果您不知道返回的内容,请坚持将您的语句设为 var 类型,所以var temp =.
标签: c# dictionary multidimensional-array sortedlist