你好我需要从字符串列表中获取字符串项并将其添加到int数组中我尝试这样但是它写我错误不能将int类型转换为int [] 但是对于序列我只在数组中的一个项目中添加一个int,所以有什么不对请
private void buttonGenerateO_Click(object sender, EventArgs e)
{
List<string> AgentNumbers = new List<string>();
List<string> AgentRide = new List<string>();
int pocet = AgentNumbers.Count;
int[][] dvouRozmernePole = new int[2][];
dvouRozmernePole[0] = new int[pocet];
dvouRozmernePole[1] = new int[pocet];
foreach (string AgeNumb in AgentNumbers)
{
for (int i = 0; i < dvouRozmernePole[0].Length; i++)
dvouRozmernePole[i] = Convert.ToInt32(AgeNumb);
}
foreach (string AgeRide in AgentRide)
{
for (int i = 0; i < dvouRozmernePole[1].Length; i++)
dvouRozmernePole[i] = Convert.ToInt32(AgeRide);
}
答案 0 :(得分:2)
看看这个宣言:
int[][] dvouRozmernePole = new int[2][];
所以dvouRozmernePole
是数组。现在看这里:
dvouRozmernePole[i] = Convert.ToInt32(AgeNumb);
您尝试将int
值分配给dvouRozmernePole[i]
,这是您无法做到的,因为它应该是int[]
。
我怀疑你想要:
dvouRozmernePole[0][i] = Convert.ToInt32(AgeNumb);
话虽如此,鉴于以下几点:
List<string> AgentNumbers = new List<string>();
List<string> AgentRide = new List<string>();
int pocet = AgentNumbers.Count;
int[][] dvouRozmernePole = new int[2][];
dvouRozmernePole[0] = new int[pocet];
dvouRozmernePole[1] = new int[pocet];
...无论如何,你总是会有空列表,所以没有要转换的值。
你真的是否需要使用数组?在任何地方使用List<T>
几乎肯定会更简单。
LINQ也可以使这更简单。例如:
int[] numbers = AgentNumbers.Select(x => int.Parse(x)).ToArray();
int[] rides = AgentRide.Select(x => int.Parse(x)).ToArray();
int[][] dvouRozmernePole = { numbers, rides };
答案 1 :(得分:0)
错误很明显。在声明中
dvouRozmernePole[i] = Convert.ToInt32(AgeNumb);
为数组分配一个整数。
答案 2 :(得分:0)
dvouRozmernePole
是int[]
的数组,而Convert.ToInt32
则返回int
。因此:
dvouRozmernePole[i] = Convert.ToInt32(AgeNumb);
dvouRozmernePole[i]
是int[]
,您正在尝试分配int
。
看起来你想要:
dvouRozmernePole[0][i] = Convert.ToInt32(AgeNumb);
以后
dvouRozmernePole[1][i] = Convert.ToInt32(AgeRide);
你可以这样做:
int[][] dvouRozmernePole = new int[2][]
{
AgentNumbers.Select(num => Convert.ToInt32(num)).ToArray(),
AgentRide.Select(ride => Convert.ToInt32(ride)).ToArray()
};
初始化数组。
答案 3 :(得分:0)
dvouRozmernePole是一组int的数组
所以dvouRozmernePole[i]
期望和int []而不是int值
尝试
你是说吗? for (int i = 0; i < dvouRozmernePole[0].Length; i++)
dvouRozmernePole[0][i] = Convert.ToInt32(AgeNumb);
}
foreach (string AgeRide in AgentRide)
{
for (int i = 0; i < dvouRozmernePole[1].Length; i++)
dvouRozmernePole[1][i] = Convert.ToInt32(AgeRide);
}