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

本文关键字:System 类型 对象 IConvertible 转换 String | 更新日期: 2023-09-27 18:21:41

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

当我将字符串数组转换为 int 或十进制时出错,如下所示

无法将类型为"System.String[]"的对象强制转换为类型 "系统可逆"。

请找到答案。

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

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

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

不能将string[]转换为int。也许您想将每个字符串转换为 int:

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

请注意,如果其中一个字符串由于格式无效而无法解析为 int,这将失败。

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

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

将每个元素转换为整数。

我在这里找到了一个类似的帖子:使用 LINQ 将字符串转换为 int 数组

相关文章: