在C#中创建食物数组并使用if else判断元素是否存在
在C#中判断变量是否属于食物数组的实现方案
嘿,这事儿不难,我给你整理了两种实用的实现方式,直接就能套用在你的代码里:
方法一:用LINQ的Contains()方法(最简洁高效)
这是最常用的写法,代码短可读性还强,完美适配你的需求:
// 先定义好你的食物数组 string[] foodItems = { "apple", "pear", "grape" }; // 要判断的目标变量 string item = "apple"; // 这里可以换成你实际要检查的内容 // 核心判断逻辑 if (foodItems.Contains(item)) { // 匹配到数组中的食物时执行的代码 Console.WriteLine($"{item} 是我们记录的食物项!"); } else { // 没匹配到时的逻辑 Console.WriteLine($"{item} 不在食物列表里哦~"); }
小提示:使用这个方法需要在代码顶部加上
using System.Linq;,不然编译器会找不到Contains()方法。
方法二:传统循环遍历(不依赖LINQ)
如果你不想用LINQ,或者项目环境限制不能用,那用foreach循环手动判断也完全没问题:
string[] foodItems = { "apple", "pear", "grape" }; string item = "orange"; bool isMatch = false; // 遍历数组找匹配项 foreach (string food in foodItems) { if (food == item) { isMatch = true; break; // 找到后立刻跳出循环,不用白跑剩下的项 } } // 根据判断结果执行逻辑 if (isMatch) { Console.WriteLine($"{item} 在食物列表里!"); } else { Console.WriteLine($"{item} 不在食物列表中。"); }
额外小技巧
- 如果需要不区分大小写的判断(比如能匹配"Apple"、"APPLE"这种变体),可以给
Contains()加个参数:if (foodItems.Contains(item, StringComparison.OrdinalIgnoreCase)) - 要是你后续需要频繁给食物列表加/减项,建议把数组换成
List<string>,增删操作会比数组灵活很多。
内容的提问来源于stack exchange,提问作者dominic12345
相关产品推荐
相关产品推荐

