C# 如何知道用户在运行时在文本框中输入的值的数据类型?

C# 如何知道用户在运行时在文本框中输入的值的数据类型?,c#,textbox,gettype,C#,Textbox,Gettype,如何知道用户在运行时在文本框中输入的值的数据类型 我举一个简单的例子: 我用GetType()尝试过,但没有用,它总是显示System.String,无论我输入int还是String,如果用户在文本框中键入了文本,则始终是字符串。它永远不是整数。您可以将文本解析为整数,但输入本身仍然是文本 您可以推测地尝试以不同的方式解析它: int intValue; if (int.TryParse(text, out intValue) { ... use intValue, then retur

如何知道用户在运行时在文本框中输入的值的数据类型

我举一个简单的例子:


我用
GetType()
尝试过,但没有用,它总是显示
System.String
,无论我输入
int
还是
String
,如果用户在文本框中键入了文本,则始终是字符串。它永远不是整数。您可以将文本解析为整数,但输入本身仍然是文本

您可以推测地尝试以不同的方式解析它:

int intValue;
if (int.TryParse(text, out intValue)
{
    ... use intValue, then return?
}

decimal decimalValue;
if (decimal.TryParse(text, out decimalValue)
{
    ... use decimalValue, then return?
}

但从根本上讲,您需要了解用户输入始终是一个字符串,如何使用该字符串取决于您。

如果用户在文本框中键入文本,则始终是一个字符串。它永远不是整数。您可以将文本解析为整数,但输入本身仍然是文本

您可以推测地尝试以不同的方式解析它:

int intValue;
if (int.TryParse(text, out intValue)
{
    ... use intValue, then return?
}

decimal decimalValue;
if (decimal.TryParse(text, out decimalValue)
{
    ... use decimalValue, then return?
}

但从根本上说,您需要了解用户输入始终是字符串,如何使用该字符串取决于您。

在文本框中输入的值最好返回System.string。
textbox.Text
是一种
System.string
类型-输入1或a并不重要,就
TextBox
而言,这两个字符串都是字符串。那么有没有办法知道用户在运行时输入的数据类型。开发者可以知道用户在文本框或浮点值中输入了int值,等等。在文本框中输入的值最好返回System.String。
textbox.Text
是一种
System.String
类型-输入1或a并不重要,就
TextBox
而言,这两个字符串都是字符串。那么有没有办法知道用户在运行时输入的数据类型。像开发人员可以知道用户已经在文本框或浮点值等中输入了int值。是的,文本框将考虑所有输入值作为字符串,但是在运行时有什么方法可以让用户知道文本框中输入值的数据类型吗?@ @ USER324930:是的,你知道数据类型总是字符串。我已经给了您一些示例代码,用于查看该字符串是否可以被解析为其他内容(您可以尝试
double
DateTime
等),但“textbox中输入值的数据类型”始终是字符串。这是非常简单的。是的,文本框将把所有输入值视为字符串,但在运行时,有没有任何方法可以让用户知道文本框中输入值的数据类型?@ USER324930:是的,你知道数据类型总是字符串。我已经给了您一些示例代码,用于查看该字符串是否可以被解析为其他内容(您可以尝试
double
DateTime
等),但“textbox中输入值的数据类型”始终是字符串。其实就这么简单。