C#创建List<deliv>存储配送数据报CS0246错误,<deliv>标红如何解决?
错误原因
CS0246报错是编译器无法找到你代码中使用的deliv类型,你没有提前定义这个自定义类来存储配送字段,所以会标红报错。
解决步骤
- 首先定义
deliv实体类,匹配你需要存储的配送字段:
public class deliv { // 配送日期,也可使用DateTime类型,后续日期查询、格式校验更方便 public string datedeliv { get; set; } public string Compagny { get; set; } // 数量使用int类型,避免后续数值计算、比较出现问题 public int quantity { get; set; } }
- 修正List初始化代码,补全List的类型声明:
List<deliv> listdelivery = new List<deliv>(); listdelivery.Add(new deliv() { datedeliv = "11-15-2019", Compagny = "Moon", quantity = 450 }); listdelivery.Add(new deliv() { datedeliv = "01-01-2010", Compagny = "Sun", quantity = 10 });
按日期查询功能实现示例
// 输入要查询的日期 string searchDate = "11-15-2019"; // 查询匹配的配送记录 var result = listdelivery.Where(d => d.datedeliv == searchDate).ToList(); // 输出结果 foreach (var record in result) { Console.WriteLine($"日期:{record.datedeliv},公司:{record.Compagny},配送量:{record.quantity}"); }
可选优化建议
如果要避免日期格式不统一导致查询失败,可以将datedeliv属性改为DateTime类型,初始化和查询时统一做格式转换即可。
内容的提问来源于stack exchange,提问作者FIDO
相关产品推荐
相关产品推荐

