当前位置:网站首页>【C#】LINQ
【C#】LINQ
2022-04-21 06:34:00 【阿月浑子2021】
语言集成查询LINQ是一系列直接将查询功能集成到C#语言的技术统称。
对编写查询语句的开发者来说,LINQ最明显的“语言集成”部分就是查询表达式。
查询表达式采用声明性查询语法编写而成。
使用查询语法可以用最少的语言对数据进行筛选、排序和分组。
完整的查询操作包括创建数据源、定义查询表达式和执行查询
int[] scores = new int[] { 10, 30, 40, 80, 90, 98 };
IEnumerable scoreQuery =
from score in scores //指定数据源
where score > 80 //应用筛选器
select score; //返回元素的类型
foreach (int i in scoreQuery) //get data
{
Console.Write(i + " "); //return each item
}
//output:90 98
LINQ 数据源是支持泛型 IEnumerable<T> 接口或从中继承的接口的任意对象。
延迟查询:查询变量本身从不保存查询结果,因此可以根据需要随意执行查询。 例如,可以通过一个单独的应用程序持续更新数据库。 在应用程序中,可以创建一个检索最新数据的查询,并可以按某一时间间隔反复执行该查询以便每次检索不同的结果。
要强制立即执行查询并缓存其结果,可调用 ToList() 或 ToArray() 方法,或紧跟一个 foreach 循环。
IList<int> scoQuery = (from sco in scores
where sco % 2 == 0
select sco).ToList();
IEnumerable scoQuery2 = (from sco in scores
where sco % 2 == 0 && sco > 80
select sco).ToArray();
/// <summary>
/// 获取存储区信息
/// </summary>
/// <returns></returns>
public DataResult<List<StorageAreaModel>> InitStorageArea()
{
DataResult<List<StorageAreaModel>> result = new DataResult<List<StorageAreaModel>>();
try
{
var data = dataAccess.GetStorageAreas();
result.Data = (from q in data.AsEnumerable()
select new StorageAreaModel
{
ID=q.Field<string>("ID"),
SlaveAddress=q.Field<Int32>("SlaveAddress"),
FunctionCode=q.Field<string>("FunctionCode"),
StartAddress=q.Field<Int32>("StartAddress"),
Length=q.Field<Int32>("Length")
}).ToList();
}
catch (Exception ex)
{
result.Message=ex.Message;
}
return result;
}
/// <summary>
/// 获取设备信息
/// </summary>
/// <returns></returns>
public DataResult<List<DeviceModel>> GetDevices()
{
DataResult<List<DeviceModel>> result = new DataResult<List<DeviceModel>>();
try
{
var devices = dataAccess.GetDevices();
List<DeviceModel> deviceModels = new List<DeviceModel>();
foreach (var device in devices.AsEnumerable())
{
DeviceModel deviceModel = new DeviceModel();
deviceModel.DeviceID = device.Field<Int32>("DeviceID");
deviceModel.DeviceName = device.Field<string>("DeviceName");
deviceModels.Add(deviceModel);
}
}
catch (Exception ex)
{
result.Message=ex.Message;
}
return result;
}
版权声明
本文为[阿月浑子2021]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_56814032/article/details/122028526
边栏推荐
- Ruiyuan power chip, ry3715, ry3750 replacement: silijie sy7208, sy7152, Xinpeng micro ap2008 Core source mp1542, mp3213. Input voltage from 2.5V to 5.5V
- MS1836S,HDMI转CVBS,视频转换器,HDMI接收器,内置 MCU 和存储器
- 2020-12-25
- 解决中文乱码问题
- 2020-12-24
- Cs5518, Mipi to dual LVDS, replacement: gm8775 of Guoteng, tc358775 of Toshiba, dual LVDS, domestic perfect replacement, DSI to dual channel LVDS, LVDS clock frequency up to 154mhz, 1920 x1200
- NP、NSSA区域
- Knowledge of classes and objects
- Nodered connection database
- 网络安全设备常见弱口令
猜你喜欢

Sorting method (1) = > bubble sorting, simple selection sorting

NP、OSPF虚链路

NP、OSPF Stub區域

三层交换机与路由器对接上网

音频功率放大器,纳芯威功放,NS4165B单通道5.3W AB\D类功放,主要替换智浦芯的CS8571、CS8871、CS5218海栎创的HAA2018

国产POE,RPC304,替换IP802、IP804、IP808,替换TPS23861、LTC4292、PD69204、SI3459,国产首发POE供电、PSE,睿普康国产以太网供电及接口转换芯片

Use Baidu map POI to crawl the required data

Database requirement analysis of online ordering system

现代密码学

China Resources micro power amplifier cs3850eo, 2 × 40W class D audio power amplifier circuit, replacement: Zhipu core cs8673, tas5780 and tas5754 of Ti, domestic power amplifier
随机推荐
利用WireShark将pcap数据流还原图片文件
网上订餐系统数据库需求分析
OSS upload
CTF-RSA解密脚本
Ruiyuan power chip, ry3715, ry3750 replacement: silijie sy7208, sy7152, Xinpeng micro ap2008 Core source mp1542, mp3213. Input voltage from 2.5V to 5.5V
交换技术....
Information encryption and information summarization
搭建mysql主从复制、读写分离、一主一从
Audio power amplifier, ns4165b single channel 5.3w class AB \ D power amplifier, mainly replacing cs8571, cs8871 and cs5218 of Zhipu core and haa2018 of hailichuang
【计组】性能
MySQL常用表结构
宏晶微MS9288、模拟RGB(VGA)转HDMI,HDMI发射器,音频解码器,内置MCU
关于多线程
2020-12-25
BGP 鄰居
龙讯系列视频转换,LT9211、LT8918,功能:lvds转BT656,lvds转mipi(CSI\DSI)RGB转MIPI(DSI\CSI) BT656\601\1120转HDMI1.4\DVI
Macro crystal micro ms9123, USB screen projection control chip, USB screen projector, support CVBS, S-Video video interface,
BGP automatic route aggregation
金融信息安全实训——22/4/18
使用百度地图POI爬取需要的数据