跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
C#

C# 字符串分割转换为整数数组或列表

处理逗号分隔的字符串转为整数集合是开发中的高频场景。核心方案利用 LINQ 的 Split 配合 Array.ConvertAll 实现批量转换,并通过自定义扩展方法 StringToInt32 增强容错性,解析失败时返回默认值而非抛异常。若需去重可直接链式调用 Distinct 并转为 List。注意扩展方法中非法输入返回 -1 可能干扰业务逻辑,实际使用时建议根据业务调整默认值或增加校验。该方案兼顾性能与安全性,适用于配置项解析、参数过滤等场景。

内存管理发布于 2018/6/7更新于 2026/6/316 浏览
C# 字符串分割转换为整数数组或列表

在处理后端配置或前端传来的逗号分隔数据时,我们经常需要将字符串形式的 ID 列表转换为整数集合。直接调用 int.Parse 遇到非数字字符会抛出异常,因此推荐封装一个安全的扩展方法。

安全转换的扩展方法

public static class Extension
{
    public static int StringToInt32(this string str)
    {
        int num = -1;
        if (int.TryParse(str, out num))
        {
            return num;
        }
        else
        {
            return -1;
        }
    }
}

这里使用 TryParse 避免异常开销,解析失败返回 -1。注意:如果业务中允许 ID 为 -1,此默认值会造成冲突,请根据实际情况调整。

转换为整型数组

利用 Array.ConvertAll 可以高效完成映射:

string IDList = "1,2,3,abc,5";
int[] selects = Array.ConvertAll(
    IDList.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), 
    s => s.StringToInt32()
);

转换为去重列表

如果需要去重并获取 List<int>,只需在末尾追加 Distinct().ToList():

List<int> selectList = Array.ConvertAll(
    IDList.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), 
    s => s.StringToInt32()
).Distinct().ToList();

这样既保留了代码的简洁性,又确保了转换过程不会因脏数据导致程序崩溃。

目录

  1. 安全转换的扩展方法
  2. 转换为整型数组
  3. 转换为去重列表
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 算法练习:多重背包、贪心差分、DFS 及路径 DP 题解
  • 前端兼容策略:优雅降级与渐进增强的核心差异
  • CentOS 下五种 Python 定时发送邮件方案实战
  • 金仓 SQL 防火墙深度解析:从注入原理到主动防御
  • MySQL 8.0 官方安装与环境配置教程
  • LangChain 构建智能 AI 客服系统实战
  • PostgreSQL 动态分区裁剪技术:查询性能优化解析
  • FLAC3D 边坡地震稳定性动力分析:基线校正与模拟实现
  • Java 核心 API 与进阶知识总结
  • Open WebUI MCPo 项目:将 MCP 工具无缝集成到 OpenAPI
  • Java Swing 滚动面板 JScrollPane 使用示例
  • Java 工业级多级缓存架构设计与落地(Redis 客户端+Redisson 方案)
  • 基于 MCP Server 的 Figma 设计稿自动转前端代码实践
  • 非科班转码者 AI 学习路径指南:从基础到实战
  • 职场经验谈:若无必要离职原因,建议谨慎跳槽
  • gsplat 跨平台安装配置指南:Windows/Linux/Mac
  • IntelliJ IDEA 与 VS Code Git 标准操作规范
  • Python 医疗 AI 常用库及实战案例解析
  • Python 基础语法完全指南:变量、类型、运算符与字符串处理
  • 算法空间复杂度详解:概念与常见计算实例

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online