C# 如何定位特定的数字

C# 如何定位特定的数字,c#,C#,我正试图创造7繁荣的游戏。如果你不知道规则,每个人轮流说下一个数字,但是如果这个数字可以被7除或者包含7,你应该说BOOM。所以在我的版本中,你插入一个数字,程序应该显示到那个点的所有数字 这就是我的问题,我成功地实现了第一部分,但第二部分却有问题。这就是我到目前为止所拥有的: class Program { static void Main(string[] args) { int num1 = int.Parse(Console.ReadLine());

我正试图创造7繁荣的游戏。如果你不知道规则,每个人轮流说下一个数字,但是如果这个数字可以被7除或者包含7,你应该说BOOM。所以在我的版本中,你插入一个数字,程序应该显示到那个点的所有数字

这就是我的问题,我成功地实现了第一部分,但第二部分却有问题。这就是我到目前为止所拥有的:

class Program
{
    static void Main(string[] args)
    {
        int num1 = int.Parse(Console.ReadLine());
        int num2 = 0;
        bool boolean;
        while (num1>num2)
        {
            num2++;
            if (num2%7 == 0)
            {
                Console.Write("BOOM, ");
            }
            else
            {
                Console.Write(num2 + ", ");
            }
        }
    }
}
publicstaticvoidmain()
{
控制台。写入(“请输入一个数字:”);
int number=int.Parse(Console.ReadLine());
//请在此处验证编号。。。。

对于(int i=1;i只需将验证更改为:

if (num2%7 == 0 || num2.ToString().IndexOf('7') != -1)
{
  // (..)
}
函数查找并返回子字符串在字符串中的位置。如果未找到,则返回-1

正如@Dimitry所指出的,另一个选项是

if (num2%7 == 0 || num2.ToString().Contains('7'))
{
  // (..)
}

如果字符串上存在子字符串,则使用扩展方法返回true或false。

旁注:
num2.ToString().Contains('7')
是更具可读性的实现您是对的,我编辑了答案。我以为Contains是系统中的一个方法。Lynq,我不记得它也是字符串的扩展。我想您错过了数字不能包含数字7的规则。噢,您完全正确,谢谢@itsme86。我很快就会解决它
if (num2%7 == 0 || num2.ToString().Contains('7'))
{
  // (..)
}