当前位置: 首页 > 编程语言 > C#

运算符--不能应用于类型bool和string-string和stringshare

时间:2023-04-10 17:45:50 C#

operator||不能应用于类型bool和string/string和string难度。Console.Write("["+CurrentTime+"]命名星期几?");字符串vDay=Console.ReadLine();if(vDay!="Monday"||"Tuesday"||"Wednesday"||"Thursday"||"Friday"){Console.WriteLine("这不是一周中的有效日期");我使用它很开心!=它给了我一个错误,说“不能应用于布尔和字符串”不!=andjust=我得到“StringandString”基本上我想做的是,如果有人输入“Hello”,例如它会说这不是一周中的有效日期。这么简单的任务,但我觉得很难,谢谢你的帮助。由于这里的所有答案都无法解释您一开始就面临这个问题的原因,因此我将尝试这样做。当我使用!=它给我一个错误,说“不能应用于布尔和字符串”这是因为,在你的代码中:...vDay!="Monday"||"Tuesday"...vDay成功计算出字符串“Monday”,然后将结果(布尔值)与字符串“Tuesday”进行比较。这给你的问题是“......不能应用于布尔和字符串......”不!=并且只是=我得到“字符串和字符串vDay被分配了值“星期一”(这可能导致字符串“星期一”)但是字符串“星期一”正在与字符串“星期二”进行比较。这给你问题是“...不能应用于字符串和字符串...”。正确的方法是单独指定运算符:...vDay!="Monday"&&vDay!="Tuesday"...或使用另一个答案最好以其他方式描述。像这样的东西可能更干净:Listlist=newList{"Monday","Tuesday","Wednesday","Thursday",...};if(!list.Contains(vDay)){Console.WriteLine(“这不是一周中的有效日期”);}这就是你需要的:那不是一周中的有效日期");这是使用基于集合的逻辑的另一种看法。vardays=newHashSet{"星期一","星期二","星期三","星期四","星期五"};if(!days.Contains(vDay)){Console.WriteLine("这不是一周中的有效日期");}EDIT我想解释一下这个错误:Operator!=onStringonlyacceptsasinglestringontheoperatorRHS,andC#alsodoesnotsupportcreatingaListviathelogicalOR||运算符(如果这是预期的,也不是相反,!=运算符在||ed字符串上的投影)。但是,可以创建一个集合并使用诸如包含之类的集合操作。在这种情况下,哈希集通常是我的第一选择,因为它充当索引查??找(尽管对于一组约5个字符串,它可能有点矫枉过正,对于更大的集合,这将比List或Array更好地扩展)。if(vDay=="Monday"||vDay=="Tuesday"||vDay=="Wednesday"||vDay=="Thursday"||vDay=="Friday"){Console.WriteLine("不是一个星期几有效");这应该可以解决问题。以上就是C#学习教程:运算符||不能应用于bool和string/stringandstring类型共享的所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注—Text=''本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: