有没有办法让C#在同一行中读取整数和字符串?

问题描述:

我试图使这个程序:有没有办法让C#在同一行中读取整数和字符串?

我不知道我是否应该使用的if else或某种循环或者两者兼而有之。这是我第一次编程课程,所以任何帮助都会很棒。

这是我到目前为止它的作品,但它不是我想要的。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace Assignment_3 
{ 
class Program 
{ 
    static void Exercise1(){ 


    } 

    static void Exercise2() 
    { 

     double number; 
     string character; 
     Console.Write("Enter an integer or 'q' to quit "); 
     number = double.Parse(Console.ReadLine()); 
     character = Console.ReadLine(); 
     if (number >= 1 && number <= 10 || character =="q") 
     { 
      Console.WriteLine("Coool"); 

     } 
     else 
     { 
      Console.WriteLine("Your number must be between 1 and 10"); 
     } 
    } 
    static void Main(string[] args) 
    { 
     Exercise1(); 

     Exercise2(); 

     Console.WriteLine("Press enter to end"); 
     Console.ReadLine(); 
    } 
} 
} 
+3

因此,寻找“任何帮助”是错误的地方 - 如果您有具体问题 - 确保通过更新您的帖子来提出要求,否则删除帖子,但它仍然有0分可能是个好主意。 –

+0

'Console.ReadLine()'的结果是一个字符串。您可以将字符串值存储在一个变量中,并检查它是否等于'q'而不考虑将字符串解析为数字。 –

+0

我做到了。它在问题的标题中,然后我问我是否应该使用循环来实现我想要的。 “任何帮助”部分是为了帮助我清除这个新手,并且我不太确定我需要做什么来实现这个程序,所以我只是简单地说明我会从字面上采取任何建议来获得帮助。 –

static void Exercise2() 
    { 


     string entry; 
     Console.Write("Enter an integer or 'q' to quit: "); 
     entry = Console.ReadLine(); 
     while (entry.ToLower() != "q") 
     { 
      int number; 
      if (int.TryParse(entry, out number)) 
      { 
       if (number >= 1 && number <= 10) 
       { 
        Console.WriteLine("Coool"); 

       } 
       else 
       { 
        Console.WriteLine("Your number must be between 1 and 10"); 
       } 
      } 

      Console.Write("Enter an integer or 'q' to quit: "); 
      entry = Console.ReadLine(); 
     } 

    } 

商店的ReadLine的结果()作为变量,并对其进行评估,检查“Q”,那么,如果不工作,分析变量为int。