前言
课程:使用LINQ管理和查询数据
注意:
1. 考试时间1.5小时,总分100分;
2. 考试结束试卷必须交回,不交回试卷者成绩无效。
一、题目
一、语言和注意事项
1. 实现语言:LINQ。
2. 仔细审题,准确理解题目要求。
3. 代码的书写、命名须符合规范。
二、要求(每题10分+初始化数据10分,共100分)
按照如图所示数据正确初始化集合
Goods(商品信息表)
GoodsId | GoodsName | Category | Price | Stock | Factory |
1 | 波力海苔 | 休闲零食 | 36.8 | 120 | 江苏 |
2 | 夹心饼干 | 休闲零食 | 18.9 | 90 | 广东 |
3 | 娃哈哈 | 水饮冲调 | 42.8 | 100 | 浙江 |
4 | 澳洲牛肉 | 冷冻生鲜 | 99 | 110 | 澳大利亚 |
5 | 帝王蟹 | 冷冻生鲜 | 228.5 | 80 | 阿根廷 |
6 | 李锦记蚝油 | 厨房调味 | 11.9 | 135 | 广东 |
- 使用表达式语法查询价格大于30的商品信息
- 使用方法语法查询产地是广东的商品信息
- 使用表达式语法将商品信息按照价格降序排列显示
- 使用方法语法查询价格在30-50的商品信息
- 使用方法语法查询商品名称中含有“饼干”字的商品信息
- 使用表达式语法查询广东、江苏、浙江生产的商品信息
二、使用步骤
1.先建一个Goods类
代码如下(示例):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 周测1
{
public class Goods
{
public int GoodsId { get; set; }
public string GoodsName { get; set; }
public string Category { get; set; }
public double Price { get; set; }
public int Stock { get; set; }
public string Factory { get; set; }
}
}
2.Goods类的初始化
//类的初始化器
List<Goods> list = new List<Goods>()
{
new Goods(){GoodsId=1,GoodsName="波力海苔",Category="休闲食品",Price=36.8,Stock=120,Factory="江苏"},
new Goods(){GoodsId=2,GoodsName="夹心饼干",Category="休闲食品",Price=18.9,Stock=90,Factory="广东"},
new Goods(){GoodsId=3,GoodsName="娃哈哈",Category="水饮冲调",Price=42.8,Stock=100,Factory="浙江"},
new Goods(){GoodsId=4,GoodsName="澳洲牛肉",Category="冷冻生鲜",Price=99,Stock=110,Factory="澳大利亚"},
new Goods(){GoodsId=5,GoodsName="帝王蟹",Category="冷冻生鲜",Price=288.5,Stock=80,Factory="阿根廷"},
new Goods(){GoodsId=6,GoodsName="李锦记蚝油",Category="厨房调味",Price=11.9,Stock=135,Factory="广东"}
};
3.用foreach循环显示结果
代码如下(示例):
Console.WriteLine("1、 使用表达式语法查询价格大于30的商品信息");
var g1 = list.Where(g=>g.Price>30);
foreach (var item in g1)
{
Console.WriteLine("{0},\t{1},\t{2},\t{3},\t{4},\t{5}",item.GoodsId,item.GoodsName,item.Category,item.Price,item.Stock,item.Factory);
}
Console.WriteLine("2、 使用方法语法查询产地是广东的商品信息");
var g2 = list.Where(g=>g.Factory.Contains("广东"));
foreach (var item in g2)
{
Console.WriteLine("{0},\t{1},\t{2},\t{3},\t{4},\t{5}", item.GoodsId, item.GoodsName, item.Category, item.Price, item.Stock, item.Factory);
}
Console.WriteLine("3、 使用表达式语法将商品信息按照价格降序排列显示");
var g3 = list.OrderByDescending(g => g.Price);
foreach (var item in g3)
{
Console.WriteLine("{0},\t{1},\t{2},\t{3},\t{4},\t{5}", item.GoodsId, item.GoodsName, item.Category, item.Price, item.Stock, item.Factory);
}
Console.WriteLine("4、 使用方法语法查询价格在30-50的商品信息");
var g4 = list.Where(g=>g.Price>30 && g.Price<50);
foreach (var item in g4)
{
Console.WriteLine("{0},\t{1},\t{2},\t{3},\t{4},\t{5}", item.GoodsId, item.GoodsName, item.Category, item.Price, item.Stock, item.Factory);
}
Console.WriteLine("5、 使用方法语法查询商品名称中含有“饼干”字的商品信息");
var g5 = list.Where(g=>g.GoodsName.Contains("饼干"));
foreach (var item in g5)
{
Console.WriteLine("{0},\t{1},\t{2},\t{3},\t{4},\t{5}", item.GoodsId, item.GoodsName, item.Category, item.Price, item.Stock, item.Factory);
}
Console.WriteLine("6、 使用表达式语法查询广东、江苏、浙江生产的商品信息");
var g6 = list.Where(g => g.Factory.Contains("广东") || g.Factory.Contains("江苏") || g.Factory.Contains("浙江"));
foreach (var item in g6)
{
Console.WriteLine("{0},\t{1},\t{2},\t{3},\t{4},\t{5}", item.GoodsId, item.GoodsName, item.Category, item.Price, item.Stock, item.Factory);
}
4.主函数全部代码
代码如下(示例):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 周测1
{
class Program
{
static void Main(string[] args)
{
//类的初始化器
List<Goods> list = new List<Goods>()
{
new Goods(){GoodsId=1,GoodsName="波力海苔",Category="休闲食品",Price=36.8,Stock=120,Factory="江苏"},
new Goods(){GoodsId=2,GoodsName="夹心饼干",Category="休闲食品",Price=18.9,Stock=90,Factory="广东"},
new Goods(){GoodsId=3,GoodsName="娃哈哈",Category="水饮冲调",Price=42.8,Stock=100,Factory="浙江"},
new Goods(){GoodsId=4,GoodsName="澳洲牛肉",Category="冷冻生鲜",Price=99,Stock=110,Factory="澳大利亚"},
new Goods(){GoodsId=5,GoodsName="帝王蟹",Category="冷冻生鲜",Price=288.5,Stock=80,Factory="阿根廷"},
new Goods(){GoodsId=6,GoodsName="李锦记蚝油",Category="厨房调味",Price=11.9,Stock=135,Factory="广东"}
};
Console.WriteLine("1、 使用表达式语法查询价格大于30的商品信息");
var g1 = list.Where(g=>g.Price>30);
foreach (var item in g1)
{
Console.WriteLine("{0},\t{1},\t{2},\t{3},\t{4},\t{5}",item.GoodsId,item.GoodsName,item.Category,item.Price,item.Stock,item.Factory);
}
Console.WriteLine("2、 使用方法语法查询产地是广东的商品信息");
var g2 = list.Where(g=>g.Factory.Contains("广东"));
foreach (var item in g2)
{
Console.WriteLine("{0},\t{1},\t{2},\t{3},\t{4},\t{5}", item.GoodsId, item.GoodsName, item.Category, item.Price, item.Stock, item.Factory);
}
Console.WriteLine("3、 使用表达式语法将商品信息按照价格降序排列显示");
var g3 = list.OrderByDescending(g => g.Price);
foreach (var item in g3)
{
Console.WriteLine("{0},\t{1},\t{2},\t{3},\t{4},\t{5}", item.GoodsId, item.GoodsName, item.Category, item.Price, item.Stock, item.Factory);
}
Console.WriteLine("4、 使用方法语法查询价格在30-50的商品信息");
var g4 = list.Where(g=>g.Price>30 && g.Price<50);
foreach (var item in g4)
{
Console.WriteLine("{0},\t{1},\t{2},\t{3},\t{4},\t{5}", item.GoodsId, item.GoodsName, item.Category, item.Price, item.Stock, item.Factory);
}
Console.WriteLine("5、 使用方法语法查询商品名称中含有“饼干”字的商品信息");
var g5 = list.Where(g=>g.GoodsName.Contains("饼干"));
foreach (var item in g5)
{
Console.WriteLine("{0},\t{1},\t{2},\t{3},\t{4},\t{5}", item.GoodsId, item.GoodsName, item.Category, item.Price, item.Stock, item.Factory);
}
Console.WriteLine("6、 使用表达式语法查询广东、江苏、浙江生产的商品信息");
var g6 = list.Where(g => g.Factory.Contains("广东") || g.Factory.Contains("江苏") || g.Factory.Contains("浙江"));
foreach (var item in g6)
{
Console.WriteLine("{0},\t{1},\t{2},\t{3},\t{4},\t{5}", item.GoodsId, item.GoodsName, item.Category, item.Price, item.Stock, item.Factory);
}
}
}
}
运行结果如下
总结
以上就是今天要讲的内容,本文简单解答了几道简单的题目,如有不当的地方,请指正。