【发布时间】:2019-11-19 16:31:11
【问题描述】:
我正在编写名人动态消息风格测验,但在尝试比较 对象的属性(我使用 GetType 方法检查的字符串)时遇到问题) 到用户输入的字符串。 (是的,我已经使用类型检查方法来测试属性的类型,我也在类中将属性定义为类型字符串)。我知道您可以在 python 中使用 == 执行此操作,而在 Java 中您可以使用 .compare 方法执行此操作,但我对在 C# 中使用对象有点陌生,所以我不确定是否有特定的方法可以使用。
名人班 Celebrity Class 1 Celebrity Class 2 我已经尝试过 String.Equals 方法以及 == 运算符来检查,它们都给了我同样的错误。在图片中,我注释掉了其他条件语句以使错误检查更容易。但基本上,此方法采用名人对象列表以及用户输入的字符串列表,最后返回一个名人对象(根据测验,这将是获胜者)。
main.cs(58,17):错误 CS0119:表达式表示 method group', where avariable',value' ortype' 是预期的
如果这是不可能的,或者如果对象不在列表中,请告诉我这是否可行。
【问题讨论】:
-
请在问题中包含代码作为格式化文本,而不是图像链接。这使人们更容易帮助您,并使问题对未来的读者有用。还请指出引发错误的行。
-
就目前而言,不可能将错误消息与导致它的行联系起来
-
请澄清您的术语。您是在比较类属性还是对象属性?
-
请同时包含您的 Celebrity 类的定义 -- 否则很难说出那里发生了什么。
-
您正在将所有字符串转换为 ToLower,但将其与“Ariana Grande”进行比较。当然,这总是会失败,永远不可能相等。最好使用 String.Equals 或 String.COmpare 的重载之一并传递 StringComparer 或 StringComparison,而不是将所有字符串转换为 ToLower()。
标签: c# string oop string-comparison