C# 从字符串c打印某些数字
我试图解决一个关于输入一串数字并检查数字的第三个数字是否为7的问题。以下是我到目前为止的想法:C# 从字符串c打印某些数字,c#,arrays,for-loop,C#,Arrays,For Loop,我试图解决一个关于输入一串数字并检查数字的第三个数字是否为7的问题。以下是我到目前为止的想法: string outnum; int num1; int[] num; num = new int[100]; while (true) { Console.WriteLine("Input number:"); ou
string outnum;
int num1;
int[] num;
num = new int[100];
while (true)
{
Console.WriteLine("Input number:");
outnum = Console.ReadLine();
if (int.TryParse(outnum, out num1))
{
for (int i = 1; i <= 100; i++)
{
num[(int)i] = Convert.ToInt32(Convert.ToString(outnum[(int)i]));
}
if (num[3] == 7)
{
Console.WriteLine("The third digit is 7");
break;
}
else
{
Console.WriteLine("The third digit is not 7");
break;
}
}
}
但是,我在for循环中遇到了一个错误,因为为了让它正常工作,从控制台输入的字符串应该包含与I int相同的字符。因此,在这种情况下,我请求帮助。如何在不需要输入100个字符的情况下生成长度为100的字符串?使用属性:
for (int i = 0; i < outnum.Length; i++)
或者干脆不使用loop outnum[2]='7'记住-索引从零开始。使用属性:
for (int i = 0; i < outnum.Length; i++)
或者干脆不使用loop outnum[2]='7'记住-索引从零开始。您可以使用如下内容:
input[2]=="7"
为了检查我称之为输入的字符串的第三个字符是否为7。您可以使用如下内容:
input[2]=="7"
为了检查我称之为输入的字符串的第三个字符是否为7。仅使用LinQ
if (int.TryParse(outnum, out num1))
{
List<int> numbers = outNum.ToCharArray()
.Select(x => Convert.ToInt32(x.ToString()))
.ToList();
if(numbers[2] == 7)
Console.WriteLine("Is 7");
else
Console.WriteLine("Not 7");
}
不需要保留固定长度的数组,但是对于整数来说,100个插槽似乎有点过多。
请注意,我已将列表的索引改为2而不是3,因为数组总是从索引0开始,因此,使用索引2检索第三个数字。仅使用LinQ
if (int.TryParse(outnum, out num1))
{
List<int> numbers = outNum.ToCharArray()
.Select(x => Convert.ToInt32(x.ToString()))
.ToList();
if(numbers[2] == 7)
Console.WriteLine("Is 7");
else
Console.WriteLine("Not 7");
}
不需要保留固定长度的数组,但是对于整数来说,100个插槽似乎有点过多。
请注意,我已将列表的索引更改为2而不是3,因为数组总是从索引0开始,因此,使用索引2检索第三个数字。如果您只关心C数字中从0开始的第三个字符
string values="fg7gdhjdhd";
string val=values.Substring(2,1);
int number=Convert.ToInt32(val);
如果您只关心C中的第三个字符,那么数字从0开始
string values="fg7gdhjdhd";
string val=values.Substring(2,1);
int number=Convert.ToInt32(val);
你到底为什么要砍掉100次?似乎您应该只循环outnum的长度。另外,因为C默认是一种基于零的索引语言,所以您可能应该从0开始循环,然后向上循环,而不是1。i、 e,对于int i=0;i<100;我知道你为什么要砍掉100次?似乎您应该只循环outnum的长度。另外,因为C默认是一种基于零的索引语言,所以您可能应该从0开始循环,然后向上循环,而不是1。i、 e,对于int i=0;i<100;我++