【问题标题】:How to compare a String object attribute to a string in C# [closed]如何将字符串对象属性与 C# 中的字符串进行比较 [关闭]
【发布时间】:2019-11-19 16:31:11
【问题描述】:

我正在编写名人动态消息风格测验,但在尝试比较 对象的属性(我使用 GetType 方法检查的字符串)时遇到问题) 到用户输入的字符串。 (是的,我已经使用类型检查方法来测试属性的类型,我也在类中将属性定义为类型字符串)。我知道您可以在 python 中使用 == 执行此操作,而在 Java 中您可以使用 .compare 方法执行此操作,但我对在 C# 中使用对象有点陌生,所以我不确定是否有特定的方法可以使用。

code i am trying

名人班 Celebrity Class 1 Celebrity Class 2 我已经尝试过 String.Equals 方法以及 == 运算符来检查,它们都给了我同样的错误。在图片中,我注释掉了其他条件语句以使错误检查更容易。但基本上,此方法采用名人对象列表以及用户输入的字符串列表,最后返回一个名人对象(根据测验,这将是获胜者)。

main.cs(58,17):错误 CS0119:表达式表示 method group', where avariable',value' ortype' 是预期的

Error message

如果这是不可能的,或者如果对象不在列表中,请告诉我这是否可行。

【问题讨论】:

  • 请在问题中包含代码作为格式化文本,而不是图像链接。这使人们更容易帮助您,并使问题对未来的读者有用。还请指出引发错误的行。
  • 就目前而言,不可能将错误消息与导致它的行联系起来
  • 请澄清您的术语。您是在比较类属性还是对象属性?
  • 请同时包含您的 Celebrity 类的定义 -- 否则很难说出那里发生了什么。
  • 您正在将所有字符串转换为 ToLower,但将其与“Ariana Grande”进行比较。当然,这总是会失败,永远不可能相等。最好使用 String.Equals 或 String.COmpare 的重载之一并传递 StringComparer 或 StringComparison,而不是将所有字符串转换为 ToLower()。

标签: c# string oop string-comparison


【解决方案1】:

c.getStarbucks 看起来应该是一个方法调用,即c.getStarbucks(),并且会导致您收到的编译错误。

【讨论】:

  • 我在比较类属性。 c 引用名人对象列表中的每个对象,getStarbucks 和 getColor 返回一个字符串
  • @KatieTooher 是的,但是您在getStarbucks 之后省略了()
  • @KatieTooher 你现在有不同的错误吗?
  • 哈哈,现在可以用了,谢谢
猜你喜欢
  • 1970-01-01
  • 2011-09-01
  • 2015-01-18
  • 2020-04-15
  • 1970-01-01
  • 2023-03-23
  • 2018-10-04
  • 1970-01-01
  • 2020-07-01
相关资源
最近更新 更多