c# – 将字符串编号转换为数字序列 – .Net 2.0
发布时间:2020-12-15 19:35:18 所属栏目:百科 来源:网络整理
导读:给出一个字符串 string result = "01234" 我想从字符串中获取单独的整数0,1,2,3,4. 怎么做? 1 以下代码给出了ascii值 Listint ints = new Listint(); foreach (char c in result.ToCharArray()) { ints.Add(Convert.ToInt32(c)); } 解决方法 编辑:我没有发
给出一个字符串
string result = "01234" 我想从字符串中获取单独的整数0,1,2,3,4. 怎么做? 1 以下代码给出了ascii值 List<int> ints = new List<int>(); foreach (char c in result.ToCharArray()) { ints.Add(Convert.ToInt32(c)); } 解决方法
编辑:我没有发现“.NET 2.0”的要求.如果你要做很多这类事情,可能值得使用
LINQBridge,看看后面的一点 – 特别是如果你可以使用C#3.0同时仍然针对2.0.除此以外:
List<int> integers = new List<int>(text.Length); foreach (char c in text) { integers.Add(c - '0'); } 不是很整洁,但它会起作用.或者: List<char> chars = new List<char>(text); List<int> integers = chars.ConvertAll(delegate(char c) { return c - '0'; }); 或者,如果你对阵列感到满意: char[] chars = text.ToCharArray(); int[] integers = Arrays.ConvertAll<char,int>(chars,delegate(char c) { return c - '0'; }); 原始答案 其他一些人建议使用ToCharArray.您不需要这样做 – 字符串已经实现了IEnumerable< char>,因此您已经可以将其视为一系列字符.然后,您只需将每个字符数字转换为整数表示;最简单的方法是减去字符’0’的Unicode值: IEnumerable<int> digits = text.Select(x => x - '0'); 如果你想在List< int>中使用它相反,只是做: List<int> digits = text.Select(x => x - '0').ToList(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |