首页 > 解决方案 > 将字符串转换为列表 - c#

问题描述

我有一个像单个字符串一样的列表 -"['2','4','5','1']"并且每个字符都被计算在内,因此它的长度为 17。

现在我想将它解析为列表对象,例如 -['2','4','5','1']其长度将是 4 作为列表中元素的数量。

我怎样才能在 C# 中做到这一点?

可以不做基本的字符串操作就完成吗?如果是,那怎么办?

标签: c#arraysstringlistdata-conversion

解决方案


不基于字符串操作

您的字符串值看起来像有效的 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]

推荐阅读