我在维护的一些代码中看到了这两种方法,但不知道它们的区别.有吗?

让我补充一下,myCustomer是Customer的一个实例

推荐答案

在您的 case 中,两者的结果完全相同.它将是从System.Type派生的自定义类型.这里唯一的真正不同之处在于,当您想要从类的实例中获取类型时,您可以使用GetType.如果您没有实例,但是您知道类型名称(并且只需要实际的System.Type来判断或比较),那么您可以使用typeof.

重要区别

编辑:让我补充一下,对GetType的调用是在运行时解析的,而对typeof的调用是在编译时解析的.

.net相关问答推荐

Docker失败文件找不到

部署时如何控制红隼端口?

System.IO.Directory.Exists 在 LINQ 语句中失败,但在 foreach 循环中没有

如何找到windows服务exe路径

为什么 .NET 内部 Hashtable 中有一个 Thread.Sleep(1)?

在目录中创建应用程序快捷方式

使用 .NET 在 Windows 中创建弹出式 toastr 通知

File.ReadAllLines() 和 File.ReadAllText() 有什么区别?

BackgroundWorker 中未处理的异常

什么是 project.lock.json?

在 JavaScript 中使用 String.Format?

Mono 是树莓派

关于 Enumerable.Range 与传统 for 循环的 foreach 的思考

使用 XmlDocument 读取 XML 属性

为什么 C# 不推断我的泛型类型?

如何使用 C# 创建自签名证书?

使用语句与最终try

如何从其十六进制 RGB 字符串创建 System.Drawing.Color?

如何获取命名空间中的所有类?

/langversion 的错误选项6无效;必须是 ISO-1、ISO-2、3、4、5 或默认值