如何在C#的Search Word方法中返回带提示信息的布尔值?
解决String.Contains始终返回false的问题
你的代码存在几个关键问题,导致无论输入什么都返回false:
- 方法内部硬写了
text变量,完全没用到传入的data参数,等于永远只检查"My cat is Oliver"这个固定字符串 searchText被赋值成了字符串"searchKey",而不是使用传入的searchKey参数——相当于你在检查原字符串里有没有"searchKey"这几个字,自然永远是false- 逻辑混乱,引入了无关的
searchText2(dog),而且完全没用到用户输入的searchWord变量
修正后的代码如下:
string data = "My cat is Oliver"; Console.Write("Enter a search word: "); string searchWord = Console.ReadLine(); Console.WriteLine($"搜索结果:{SearchWord(searchWord, data)}"); bool SearchWord(string searchKey, string data) { bool result = data.Contains(searchKey); Console.WriteLine("字符串 '{0}' 包含 '{1}'?-> {2}", data, searchKey, result); return result; }
修正说明:
- 调用
SearchWord时传入用户输入的searchWord,让方法检查用户实际输入的内容 - 方法内部直接使用传入的
data和searchKey,不再硬编码固定值 - 移除了无用的变量和冗余逻辑,确保检查逻辑和输入对应
内容的提问来源于stack exchange,提问作者user19888755
相关产品推荐
相关产品推荐

