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

如何将字符串转List<int>的foreach嵌套条件代码转为LINQ表达式?

可以用LINQ重写该方法

当然可以用LINQ表达式简化这段代码,核心思路是用Select操作符遍历分割后的每个元素,结合int.TryParse的结果做条件判断,最后转成List<int>返回。

重写后的代码如下:

public static IList<int> ConvertToListInt(string data)
{
    return data.Split(',')
               .Select(item => int.TryParse(item, out var num) ? num : int.MinValue)
               .ToList();
}

说明:

  • data.Split(','):和原代码逻辑一致,按逗号分割输入字符串
  • Select(item => ...):对每个分割后的元素做处理:
    • 调用int.TryParse(item, out var num)尝试转换,该方法会自动忽略元素前后的空格(和原代码行为完全匹配)
    • 如果转换成功,返回解析出的num;失败则返回int.MinValue
  • .ToList():将LINQ查询结果转换为List<int>,满足返回IList<int>的类型要求

这段代码和原实现的逻辑完全一致,比如输入"abc, 2, 3"时,会返回包含int.MinValue、2、3的列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 14:02:33