C#是否等同于python的type()函数?

时间:2013-07-18 05:57:32

标签: c# python types

我正在学习C#并且在Python中有一个非常基本的背景,我熟悉type() function,其中可以通过以下方式返回变量的数据类型:

type(myVariable)

是否有C#等效于此功能?

我在上下文中要求在使用var创建的C#变量上使用这样的函数,例如:

var myNewVariable = "Hello!"

我一般使用显式数据类型,例如:

string myNewString = "Hello!"

但我只是想知道使用var默认创建的变量的数据类型是什么,并认为与type()类似的东西将是一个很好的方法来检查发生了什么' `可以这么说。

2 个答案:

答案 0 :(得分:6)

您可以尝试使用GetType()方法:

Type myType = myVariable.GetType();

例如

String typeName = "My String".GetType().Name; // <- "String"

答案 1 :(得分:1)

你有几个选择

  1. typeof运算。 typeof采用类型名称(在编译时指定)。
  2. GetType获取实例的运行时类型。
  3. 实施例

    B a = new B();
    a.GetType() == typeof(B) 
    

    注意: a 是对象 B 的实例。而B是一种类型。