如何知道用户在C#中输入的内容

时间:2016-10-21 19:31:11

标签: c# console-application

对于Ex:

cw("enter anything");

//我们不知道用户是输入int还是字符串或任何其他数据类型,所以我们将检查为,

if(userEntered == int){}
if(userEntered==string){}

换句话说:如果用户输入例如int值,我们将其转换并保存,但如果我们不知道用户输入了什么,我们将如何判断或检测?

7 个答案:

答案 0 :(得分:1)

对于接受用户输入的控制台应用程序,假设它的字符串开头,因为字符串将能够保存任何输入。

如果需要,那么您可以将其解析为另一种数据类型,例如整数或浮点数。

答案 1 :(得分:1)

public class MainClass
{
public static void Main(string[] args)
{
    String value = Console.ReadLine();
    var a = new MainClass();
    if a.IsNumeric(value){
    //your logic with numeric
    }
    else 
    {
    //your logic with string
    }
}

public Boolean IsNumeric(String value){
 try 
   var numericValue = Int64.Parse(value);
   return true;
 catch 
   return false;
}

在这种情况下,有一个单独的函数,它尝试将其转换为数字,如果成功则返回true,否则为false。有了这个,你将避免进一步的代码重复,以检查你的值是否是数字。

答案 2 :(得分:0)

没有严格的规则,用户只需输入一个字符串值。它可以是null或空字符串或任何其他字符串,可能或可能不可转换为int或decimal或DateTime或任何其他数据类型。所以你只需要解析输入数据并检查它是否可以转换为数据类型。

答案 3 :(得分:0)

 Console.WriteLine("enter someting");
 string read = Console.ReadLine();
  

Console.Readline()读取用户输入并返回一个字符串

     

从这里尝试将其转换/解析为其他数据类型。

答案 4 :(得分:0)

您可以通过阅读用户输入 到Console.ReadLine 要检查它是字符串还是整数,你可以这样做 默认情况下,用户输入为string 请检查以下代码段

class MainClass
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            string input = Console.ReadLine();
            Console.WriteLine(input);

            int num2;
            if (int.TryParse(input, out num2))
            {
                Console.WriteLine(num2);
            }
        }
}

答案 5 :(得分:0)

以下是检查用户是否输入整数或字符串值的示例:

Console.WriteLine("Enter value:");
string stringValue = Console.ReadLine();

int intValue;
if(int.TryParse(stringValue, out intValue))
{
    // this is int! use intValue variable
}
else
{
    // this is string! use stringValue variable
}

答案 6 :(得分:0)

输入字符串后,可以使用TryParse查看它是int还是小数(以及其他内容)......

string userEntered = Console.ReadLine();
int tempInt;
decimal tempDec;

if(int.TryParse(userEntered, out tempInt))
  MessageBox.Show("You entered an int: " + tempInt);
else if(decimal.TryParse(userEntered, out tempDec))
 MessageBox.Show("You entered a decimal: " + tempDec);
else MessageBox.Show("You entered a string: " + userEntered);