You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中将类的string属性转换为Integer数组时出现报错如何解决

报错原因

  1. 存在语法拼写错误:代码中listOfMyValue s=多了多余空格,正确写法为listOfMyValues =
  2. 核心逻辑错误:Int32.Parse方法只能将整个字符串转换为单个int类型值,单个int值不存在ToArray扩展方法,所以触发该报错。

解决方案

你需要根据myStingId的实际存储格式选择对应实现方式:

场景1:myStingId为纯数字字符串,需拆分每个字符为单独的int元素

示例输入:"12345",预期输出:[1,2,3,4,5]

using System.Linq;
using System.Globalization;

Myclas myObj = new Myclas();
myObj.myStingId = "12345";

int[] listOfMyValues = myObj.myStingId
    .Select(c => int.Parse(c.ToString(), CultureInfo.InvariantCulture))
    .ToArray();

场景2:myStingId为用分隔符(逗号/空格等)拼接的多个数字串

示例输入:"1,2,3,4,5",预期输出:[1,2,3,4,5]

using System.Linq;
using System.Globalization;

Myclas myObj = new Myclas();
myObj.myStingId = "1,2,3,4,5";

int[] listOfMyValues = myObj.myStingId
    .Split(',') // 可根据实际分隔符修改,比如空格就改为Split(' ')
    .Select(s => int.Parse(s.Trim(), CultureInfo.InvariantCulture))
    .ToArray();

可选:兼容非法字符的容错实现

如果字符串中可能存在非数字内容,可使用int.TryParse避免转换抛出异常,自动过滤非法值:

using System.Globalization;
using System.Collections.Generic;

Myclas myObj = new Myclas();
myObj.myStingId = "1,2,a,4,5";

List<int> resultList = new List<int>();
foreach (var s in myObj.myStingId.Split(','))
{
    if (int.TryParse(s.Trim(), NumberStyles.Integer, CultureInfo.InvariantCulture, out int val))
    {
        resultList.Add(val);
    }
}
int[] listOfMyValues = resultList.ToArray();
// 转换结果为 [1,2,4,5]

内容的提问来源于stack exchange,提问作者user16821841

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 05:15:01