C# 之 Linq 学习笔记
2015-11-25 14:17
423 查看
C#中的Linq,很神奇的东西啊,花了点时间学了下,为了以后回忆,记录下。
现在比如我有一个List,如下定义。
在AttackVO类中定义了id这个属性,为唯一表示符,现在要用这个表示符查找attackValueList中的一个实例。
按照传统程序的写法,我们或许需要写一个for循环,if判断,然而使用Linq我们可以用一行代码来搞定它。
首先,准备工作。
我们需要引入这个。
然后,实现
如何,十分简单吧。
稍稍说明下:
from A in B 指从B中将A提出,B可以为数组,也可以为像我一样的List,Queue之类。
where后为判断,这里我判断A的id是否为我想找的id。
Select 后为想返回的值这里我与函数返回值一致,如果需要其他处理可以返回其他值。
现在比如我有一个List,如下定义。
public static List<AttackVO> attackValueList = new List<AttackVO>();
在AttackVO类中定义了id这个属性,为唯一表示符,现在要用这个表示符查找attackValueList中的一个实例。
按照传统程序的写法,我们或许需要写一个for循环,if判断,然而使用Linq我们可以用一行代码来搞定它。
首先,准备工作。
using System.Linq;
我们需要引入这个。
然后,实现
public static AttackVO GetAttackValue(int id) { return (from attack in attackValueList where attack.id == id select attack).First(); }
如何,十分简单吧。
稍稍说明下:
from A in B 指从B中将A提出,B可以为数组,也可以为像我一样的List,Queue之类。
where后为判断,这里我判断A的id是否为我想找的id。
Select 后为想返回的值这里我与函数返回值一致,如果需要其他处理可以返回其他值。
相关文章推荐
- c#数据类型的值传递和引用传递--基础拾遗
- C# 如何判断字符串中是否包含另一个字符串?
- C# 添加,修改,删除Xml节点
- c# 获取显卡信息
- c#获取磁盘信息
- c# 获取内存信息
- c# 获取主板信息
- 如何使用免费控件将word表格中的数据导入到excel中
- c#StreamWriter,StreamReader类(主要用于文本文件访问)
- C#实现简单过滤非法字符实例
- C# WinForm程序退出的方法
- C#中 += (s, e) => 这些字符什么意思
- 【NCRE项目】C#实现TabControl切换打开不同文件夹
- c# 子线程锁中调用主线程死锁
- C#获取局域网ip
- C# #if DEBUG
- 轻松学习C#的属性
- 轻松学习C#的哈希表
- C# 文本与byte互转
- C# 将文件转化成byte[]数组