按值比较字符串与可字符串对象的最合适方法是什么?

B. *_*non 5 c# resharper refactoring reference windows-store-apps

有了这个:

if (args.Parameter == "ContactIntermediaryPage")
Run Code Online (Sandbox Code Playgroud)

...在NavigatedTo()事件处理程序中,Resharper告诉我:"可能的非预期参考比较;要获得值比较,请将左侧投射到'string'类型"

所以我应该将其更改为以下之一,如果是,那么哪一个:

if ((string)args.Parameter == "ContactIntermediaryPage")

if (args.Parameter.ToString() == "ContactIntermediaryPage")

if (args.Parameter.Equals("ContactIntermediaryPage"))
Run Code Online (Sandbox Code Playgroud)

And*_*dyD 1

如果 args.Parameter 始终是字符串,则第一个。这样可以节省额外的通话时间。

否则第二个当且仅当所有可能的字符串都在您的代码中。如果是这样,我会将字符串定义为常量,并在可能的情况下在一处引用它们。

如果以上都不成立,那么请寻找蒂格兰的答案。