将对象放入List中对int不起作用
本文关键字:中对 int 不起作用 List 对象 | 更新日期: 2023-09-27 17:51:15
为什么我得到这个错误?: "匹配'System.Collections.Generic.List.Add(int)'的最佳重载方法有一些无效参数"
"参数1:不能从'tentamen130328Tarning '转换。
我以前使用过这样的列表,但是使用字符串并且有效。
代码:
static void Main(string[] args)
{
List<int> _Tarning = new List<int>();
int xVal = int.Parse(Interaction.InputBox("Skriv hur många tärningar du vill kasta:"));
int yVal = int.Parse(Interaction.InputBox("Skriv hur många sidor du vill att tärningen ska ha:"));
_Tarning.Add(new Tarning(xVal,yVal));
}
}
}
class Tarning
{
Random rnd = new Random();
static int _xVal, _yVal;
static int[,] tarning = new int[_xVal, _yVal];
int slumpa()
{
for (int i = 0; i <tarning.GetLength(0); i++)
{
for (int j = 0; j < tarning.GetLength(1); j++)
{
tarning[i, j] = rnd.Next(1, _yVal);
}
}
}
public Tarning(int Xval, int Yval)
{
Xval = _xVal;
Yval = _yVal;
}
}
}
Change List<int> _Tarning = new List<int>();
List<Tarning> _Tarning = new List<Tarning>();
您将_Tarning变量声明为:
List<int> _Tarning = new List<int>();
Tarning不是int型,不能隐式地转换为int型,因此编译器抱怨它不能添加Tarning(或将其转换为int型)。
修改列表的声明。
List<Tarning> _Tarning = new List<Tarning>;
您的列表声明必须是Tarning
类型,而不是int
。所以答案是:
List<Tarning> _Tarning = new List<Tarning>();
代替:
List<int> _Tarning = new List<int>();