如何在c#中将数字拆分成单个数字?
说我有12345。
我想要每个号码的个别项目。 一个字符串可以做甚至一个单独的数字。
.Split方法是否有重载?
我使用模数和循环。
int[] GetIntArray(int num) { List listOfInts = new List (); while(num > 0) { listOfInts.Add(num % 10); num = num / 10; } listOfInts.Reverse(); return listOfInts.ToArray(); }
使用Linq时,这样的东西会起作用:
string result = "12345" var intList = result.Select(digit => int.Parse(digit.ToString()));
这将为您提供一个IEnumerable的整数列表。
如果你想要一个IEnumerable字符串:
var intList = result.Select(digit => digit.ToString());
好吧,字符串是IEnumerable并且还实现了索引器,因此您可以通过索引遍历它或引用字符串中的每个字符。
获得所需内容的最快方法可能是String的ToCharArray()方法:
var myString = "12345"; var charArray = myString.ToCharArray(); //{'1','2','3','4','5'}
然后,您可以将每个Char转换为字符串,或将它们解析为字节或整数。 这是Linq-y的方法:
byte[] byteArray = myString.ToCharArray().Select(c=>byte.Parse(c.ToString())).ToArray();
如果您使用ASCII / Unicode字符串,性能会更高一些:
byte[] byteArray = myString.ToCharArray().Select(c=>(byte)c - 30).ToArray();
该代码仅在您确定每个元素都是数字时才有效; 另外,解析会引发exception。 一个简单的正则表达式将validation这是真的是“^ d + $”(匹配由一个或多个数字字符组成的完整字符串),在Regex.IsMatch()静态方法中使用。
你可以简单地做:
"123456".Select(q => new string(q,1)).ToArray();
要有一个可枚举的整数,根据评论请求,你可以:
"123456".Select(q => int.Parse(new string(q,1))).ToArray();
它有点弱,因为它假设字符串实际上包含数字。
这里有一些代码可以帮到你。 字符串可以视为一个字符数组
string numbers = "12345"; int[] intArray = new int[numbers.Length]; for (int i=0; i < numbers.Length; i++) { intArray[i] = int.Parse(numbers[i]); }
Substring和Join方法可用于此语句。
上述就是C#学习教程:如何在c#中将数字拆分成单个数字?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注---计算机技术网(www.ctvol.com)!
string no = "12345"; string [] numberArray = new string[no.Length]; int counter = 0; for (int i = 0; i < no.Length; i++) { numberArray[i] = no.Substring(counter, 1); // 1 is split length counter++; } Console.WriteLine(string.Join(" ", numberArray)); //output >>> 0 1 2 3 4 5
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1041786.html