C#循环录入食材信息至数组并打印的实现方法
C#循环录入食材信息至数组并打印的实现方法
嘿,我来帮你搞定这个需求!你需要循环收集食材的名称、数量和单位,把它们存在数组里,之后再全部打印出来对吧?直接存单个字符串肯定不方便,我们可以先封装一个Ingredient类来统一管理每个食材的三个属性,这样代码更清晰易维护。
步骤1:定义食材类
首先创建一个简单的类,用来存储每个食材的完整信息:
public class Ingredient { public string Name { get; set; } public int Quantity { get; set; } // 如果需要支持小数可以改成decimal类型 public string Unit { get; set; } }
步骤2:循环录入数据到数组
接下来在Main方法里,我们先让用户输入要录入的食材总数,然后创建对应长度的数组,接着循环逐个收集信息:
using System; class Program { static void Main() { Console.Write("请输入要录入的食材数量:"); // 做个简单校验,确保用户输入的是有效数字 if (!int.TryParse(Console.ReadLine(), out int ingredientCount)) { Console.WriteLine("输入无效,请输入数字!"); return; } // 创建对应长度的食材数组 Ingredient[] ingredients = new Ingredient[ingredientCount]; for (int i = 0; i < ingredientCount; i++) { Console.WriteLine($"\n===== 录入第 {i + 1} 种食材 ====="); // 录入食材名称 Console.WriteLine("Enter name of ingredient " + (i + 1) + ":"); string name = Console.ReadLine(); // 录入食材数量(增加循环校验,避免无效输入) int quantity = 0; while (true) { Console.WriteLine($"Enter quantity of {name} :"); if (int.TryParse(Console.ReadLine(), out quantity)) { break; } Console.WriteLine("请输入有效的数字!"); } // 录入计量单位 Console.WriteLine($"Enter unit of measurement for {name} :"); string unit = Console.ReadLine(); // 将录入的信息存入数组 ingredients[i] = new Ingredient { Name = name, Quantity = quantity, Unit = unit }; }
步骤3:打印数组中所有食材信息
录入完成后,我们循环遍历数组,把每个食材的信息都清晰打印出来:
Console.WriteLine("\n===== 已录入的食材清单 ====="); for (int i = 0; i < ingredients.Length; i++) { Ingredient ing = ingredients[i]; Console.WriteLine($"食材 {i + 1}:{ing.Quantity} {ing.Unit} 的 {ing.Name}"); } Console.ReadLine(); } }
额外小提示
如果不确定要录入的食材数量,或者后续可能需要动态添加食材,用List<Ingredient>会比数组更灵活——只需要把数组换成List<Ingredient>,然后用Add()方法添加元素就行,不需要提前指定长度~
备注:内容来源于stack exchange,提问作者Avient_711
相关产品推荐
相关产品推荐

