gpt4 book ai didi

c# - 是否有理由以这种方式进行类型比较?

转载 作者:行者123 更新时间:2023-11-30 13:42:20 26 4
gpt4 key购买 nike

我习惯于看到像这样的旧代码

if (true)
{
...
}

从直觉上可以看出某人在进行更改时要么懒惰要么过于谨慎。我今天遇到了这个片段,我很好奇以这种方式进行类型比较之间是否存在功能差异:

private static bool logField(Type t, string fieldname)
{
if (t.ToString() == typeof (Property).ToString())
{
...
}
return true;
}

然后这样做:

private static bool logField(Type t, string fieldname)
{
if (t == typeof (Property))
{
...
}
return true;
}

最佳答案

我会说这通常是懒惰 - 但它可能不是。例如,您可以在同一个有效文件中有两个属性类型,但副本不同。如果 typeof(Property) 从一个文件加载它,而 t 从另一个文件加载它,您的替换会说它们是不同的,但原始代码会比较说它们是一样。

这绝对是一种边缘情况,您通常一开始就想避免这种情况……但这只是可能

关于c# - 是否有理由以这种方式进行类型比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3304086/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com