说我有
var i = 987654321;
Run Code Online (Sandbox Code Playgroud)
是否有一种简单的方法来获得数字的数组,相当于
var is = new int[] { 9, 8, 7, 6, 5, 4, 3, 2, 1 };
Run Code Online (Sandbox Code Playgroud)
没有.ToString()和迭代的字符int.Parse(x)?
实际上很难描述:
我想实现一个算法,它比较两个给定整数/数字的相同位置的数字(就像我在基于10的系统中的计算,它是相同的"10的幂") (具有相同的"长度").它应该返回平等等级如下:
我不想基于字符串比较进行计算,因为我会以更大的方式做这个:)
在另一个问题(如何将数字拆分成单个数字?)中,他们Select在字符串上调用该方法.该网站还表明它是可能的.
但是,当我尝试使用在其中任何一个地方找到的代码示例执行此操作时,我收到编译错误.可能导致这种情况的原因,我如何Select在字符串上使用该方法?
int num = Convert.ToInt32(Console.ReadLine());
Run Code Online (Sandbox Code Playgroud)
使用上面的代码我得到正确的整数值,我能够对这个数字进行操作并获得正确的结果.
但是使用下面的代码,为什么Convert.ToInt32(o)方法不会将其转换为整数值.为什么我们需要减去48.
int[] numarr = number.ToString().Select(o => Convert.ToInt32(o)-48).ToArray();
Run Code Online (Sandbox Code Playgroud)
如果我没有减去48,我没有得到正确的整数值.
请任何人解释为什么这是?是否每次都需要这样做?因为在其他地方,我计算结果而不减去48,我得到了正确的结果.
我正在做一个程序来打印一个数字中出现的次数.这是我的代码:
Console.WriteLine("Enter the number:");
int number = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Enter the number to search:");
int searchnumber = Convert.ToInt32(Console.ReadLine());
int cnt = 0;
int[] numarr = number.ToString().Select(o => Convert.ToInt32(o)-48).ToArray();
for (int i = 0; i < numarr.Length; i++)
{
Console.WriteLine(numarr[i]);
}
for (int i = 0; i < numarr.Length; i++)
{
if (numarr[i] == searchnumber)
{
cnt++;
}
}
Console.WriteLine("Number of occurence of given number is:{0}", cnt);
Run Code Online (Sandbox Code Playgroud) 我想要一个解决方案将输入int 010转换为int {0,1,0}的列表.下面是我试过的代码,一直工作到0.
Int num = 010;
List<int> listOfInt = new List<int>();
While(num > 0)
listOfInt.Add(num%10);
num / = 10;
Run Code Online (Sandbox Code Playgroud)
我只想拆分输入的int并将其转换为int列表.LINQ很好,如果这可能是有效的!谢谢!