我见过很多人使用以下代码:
Type t = typeof(obj1);
if (t == typeof(int))
// Some code here
Run Code Online (Sandbox Code Playgroud)
但我知道你也可以这样做:
if (obj1.GetType() == typeof(int))
// Some code here
Run Code Online (Sandbox Code Playgroud)
或这个:
if (obj1 is int)
// Some code here
Run Code Online (Sandbox Code Playgroud)
就个人而言,我觉得最后一个是最干净的,但有什么我想念的吗?哪一个最好用,还是个人喜好?
我的公司即将雇用.NET开发人员.我们在各种.NET平台上工作:ASP.NET,Compact Framework,Windowsforms,Web Services.我想编制好的问题列表/目录,这是一种最低标准,以确定申请人是否有经验.所以,我的问题是:
您认为一个优秀的.NET程序员应该回答什么问题?
我也将它视为自己的清单,以便了解我自己的赤字在哪里(有很多......).

*更新:它想明确我们不仅仅测试.NET知识,解决问题的能力和一般编程技能对我们来说更为重要.
基本上如标题所述,如果我这样做:
private const string TYPEOF_STRING = typeof(String).FullName;
Run Code Online (Sandbox Code Playgroud)
为什么它会给我错误:
分配给'Cognitronics.Generic.CloudClient.TYPEOF_STRING'的表达式必须是常量
编辑:
看来我们在这里和Habib联系的线程中也有相互矛盾的答案.这里每个人都说它不是编译时间常数,而在另一个线程中每个人都说它是.这让我更加困惑,所以我想重新问一下这是什么?
为什么我不能,Class.GetMethod(string)但我能做到this.GetType().GetMethod(string)?
我想做前者,因为它似乎会更快,因为我已经知道我想要搜索哪个类...