c# - 将字符串转换为列表 - c#
问题描述
我有一个像单个字符串一样的列表 -"['2','4','5','1']"
并且每个字符都被计算在内,因此它的长度为 17。
现在我想将它解析为列表对象,例如 -['2','4','5','1']
其长度将是 4 作为列表中元素的数量。
我怎样才能在 C# 中做到这一点?
可以不做基本的字符串操作就完成吗?如果是,那怎么办?
解决方案
不基于字符串操作
您的字符串值看起来像有效的 JSON 数组。
using Newtonsoft.Json;
var list = JsonConvert.DeserializeObject<List<char>>("['2','4','5','1']");
// => ['2','4','5','1']
如果您需要输出为整数,请将输出类型设置为整数列表,JSON 序列化程序会将其转换为整数。
var list = JsonConvert.DeserializeObject<List<int>>("['2','4','5','1']");
// => [2, 4, 5, 1]
转换为整数也将处理负值;)
var list = JsonConvert.DeserializeObject<List<int>>("['-2','4','-5','1']");
// => [-2, 4, -5, 1]
推荐阅读
- c++ - 什么时候可以安全地释放我传递给 DirectX 的内存?
- ios - 如何输出 iOS 发布二进制文件的函数列表
- r - iGraph for R 中的 stmincuts 问题
- amazon-eks - 如何更改每个节点的默认 Pod 数量?
- sonarqube - SonarQube Scannner 执行期间出错
- javascript - 角度 tslint 设置错误。ng build:成功,ng build --prod:失败
- xml - XSLT 1.0 Kludge 清理
- python-3.x - 如何通过套接字发送消息序列?
- swift - 我如何正确编写 if - else if 代码
- android - 获取和观察/监听 androd 运行时权限结果返回到应用程序