首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确定值类型

如何确定值类型
EN

Stack Overflow用户
提问于 2014-10-16 13:05:03
回答 2查看 252关注 0票数 0

如何在Type中找到值类型的C#?

假设我有:

代码语言:javascript
复制
string str;
int value;
double doubleValue;

是否有返回这些值类型的方法?

更清楚的是,我正在尝试这样的方法:

代码语言:javascript
复制
string str = "Hello";
string typeOfValue = <call to method that returns the type of the variable `str`>

if (typeOfValue == "string") {
    //do something
 } else {
   //raise exception
 }

如果输入的值不是stringintdouble (取决于我的条件),我希望从用户那里获得输入并引发异常。

我试过:

代码语言:javascript
复制
public class Test
{
    public static void Main(string[] args)
    {
        int num;
        string value;
        Console.WriteLine("Enter a value");

        value  = Console.ReadLine();
        bool isNum = Int32.TryParse(value, out num);

        if (isNum)
        {
            Console.WriteLine("Correct value entered.");

        }
        else
        {
            Console.WriteLine("Wrong value entered.");

        }
        Console.ReadKey();
    }
}

但是,如果我要检查的值类型是string或其他什么的话呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-16 13:07:27

您可以对GetType中的任何元素使用.Net,因为它存在于对象级别:

代码语言:javascript
复制
var myStringType = "string".GetType();
myStringType == typeof(string) // true

GetType返回一个Type对象,您可以使用Type上的Name属性获得一个可读的友好的人名。

票数 2
EN

Stack Overflow用户

发布于 2014-10-16 13:06:56

GetType将返回正确的结果:

代码语言:javascript
复制
string typeOfValue = value.GetType().ToString();

但是在这种情况下,您不需要将类型转换为字符串以进行比较:

代码语言:javascript
复制
if (typeof(String) == value.GetType()) ...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26405217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档