无法将类型为“System.String []”的对象强制转换为“System.IConvertible”类型

时间:2013-07-09 07:47:52

标签: c# .net

string[] weight = txtProductOptn1.Text.Split(',');
var Weight1 = Convert.ToInt32(weight);

当我将字符串数组转换为int或decimal作为

时出错
  

无法将类型为“System.String []”的对象强制转换为类型   'System.IConvertible'。

请找到答案。

3 个答案:

答案 0 :(得分:6)

试试这个,weight是一个数组。假设您要转换数组的第一个元素。

string[] weight = txtProductOptn1.Text.Split(',');
var Weight1 = Convert.ToInt32(weight[0]);

答案 1 :(得分:4)

您无法将string[]转换为int。也许你想将每个字符串转换为int:

IEnumerable<int> ints = weight.Select(int.Parse);

请注意,如果其中一个字符串无法解析为int,则会失败,因为它的格式无效。

答案 2 :(得分:0)

您无法将字符串数组(string [])转换为整数(int)。 使用System.Linq,您可以尝试:

int[] convertedWeight = txtProductOptn1.Text.Split(',').Select(x => Convert.ToInt32(x)).ToArray();

将每个元素转换为整数。

我在这里找到了类似的帖子:Convert string to int array using LINQ