Ling之select
2024-09-28 03:21:36
select用法:
1、Dictionary<string, string>转json
Newtonsoft.Json.JsonConvert.SerializeObject(dicSubject.Select(l => new { label=l.Key,value=l.Value}))
2、Select可以修改数组、集合中的值
arrSub.Select(l => subjects.First(m => m.Name.Equals(l)).Id);
3. 可以对查询出来的结果做一些转换,下面的例子在数组中查找以"B"开头的名字,然后全部转成小写输出:
string[] names = { "Jack", "Bob", "Bill", "Catty", "Willam" }; var rs = from n in names
where n.StartsWith("B")
select n.ToLower();
foreach (var r in rs)
Console.WriteLine(r);
4. 返回匿名类型,比如Linq To Sql查询数据库的时候只返回需要的信息,下面的例子是在Northwind数据库中查询Customer表,返回所有名字以"B"开头的客户的ID和名称:
NorthwindDataContext dc = new NorthwindDataContext();
var cs = from c in dc.Customers
where c.ContactName.StartsWith("B")
select new
{
CustomerID = c.CustomerID,
CustomerName = c.ContactTitle + " " + c.ContactName
};
foreach (var c in cs)
Console.WriteLine(c);
5. 对于数组,select可以对数组元素以及索引进行操作:
string[] names = { "Jack", "Bob", "Bill", "Catty", "Willam" };
var rs = names.Select((name, index) => new { Name = name, Index = index });
foreach (var r in rs)
Console.WriteLine(r);
6. 组合查询,可以对多个数据源进行组合条件查询(相当于使用SelectMany函数),下面的例子其实就相对于一个双重循环遍历:
int[] numbersA = { , , , , , , };
int[] numbersB = { , , , , }; var pairs =
from a in numbersA
from b in numbersB
where a < b
select new {a, b}; Console.WriteLine("Pairs where a < b:");
foreach (var pair in pairs)
Console.WriteLine("{0} is less than {1}", pair.a, pair.b);
7.用Linq To Sql的话,相当于进行一次子查询:
NorthwindDataContext dc = new NorthwindDataContext();
var rs = from c in dc.Customers
from o in c.Orders
where o.ShipCity.StartsWith("B")
select new { CustomerName = c.ContactName, OrderID = o.OrderID }; foreach (var r in rs)
Console.WriteLine(r);
最新文章
- form data和request payload的区别
- java类读取properties文件
- 推荐几款制作网页滚动动画的 JavaScript 库
- 1.AngularJS初探
- wireshark_Couldn’t run /usr/sbin/dumpcap in child process: Permission denied
- jQuery1.11源码分析(8)-----jQuery调用Sizzle引擎的相关API
- Volley HTTP库系列教程(5)自定义一个Volley请求
- 【HDOJ】4358 Boring counting
- IE6完美解决fixed方法
- initrd.gz的解压和制作
- [C# 网络编程系列]专题九:实现类似QQ的即时通信程序
- 一些常用的js,jquerry 样例
- UIImageView 一些属性设置
- 【Android Developers Training】 31. 序言:共享简单数据
- php程序报错:PHP Core Warning/cannot open shared object file: No such file or directory
- Java虚拟机学习笔记(一)
- 微信小程序组件通信
- Android BrocastReceiver解析
- Android WebSocket开发
- 一篇 SpringData+JPA 总结
热门文章
- 模块-os.system的两个模块/random模块/datetime模块/写日志
- 伪元素改变date类型input框的默认样式实例页面
- 5. pytest的断言
- PHP脚本占用内存太多,解决方案
- Linux 查看文件夹命令
- springboot访问静态资源遇到的坑
- shim和polyfill,前端术语
- HLS-搭建Nginx流媒体服务器
- C++_类和动态内存分配1—动态内存和类
- 查找表,Two Sum,15. 3Sum,18. 4Sum,16 3Sum Closest,149 Max points on line