从字符列表C#开始

时间:2016-10-11 15:20:07

标签: c# .net arraylist

我有一个字符列表[5, 1, 3]当我执行此操作时,将此列表转换为类似513的最佳方法是什么:

long.Parse(charList.ToArray().ToString());

我明白了:

  

System.FormatException

3 个答案:

答案 0 :(得分:4)

获得FormatException的原因是ToArray().ToString()的输出为"System.Char[]" - 显然不是float:)

使用string.Join

long.Parse(string.Join("",charList))

如果非数字项存在风险,请使用long.TryParse;如果您只想保留数字项,请使用char.IsNumber

char[] charList = new char[] { '5', '1', '3' };
string.Join("", charList.Where(c => char.IsNumber(c)));

答案 1 :(得分:3)

string longList = string.Join("", charList);

long a = 0;
long.TryParse(longList, out a);

答案 2 :(得分:2)

第一种方法是直接Concat连接字符串然后Parse

long result = long.Parse(string.Concat(charList));

聚合是另一种选择

long result = charList.Aggregate(0L, (a, c) => a * 10 + c - '0');