C#中的Linq,很神奇的東西啊,花了點時間學了下,爲了以後回憶,記錄下。
現在比如我有一個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 後爲想返回的值這裏我與函數返回值一致,如果需要其他處理可以返回其他值。