網路上有許多篇相關的資料   但美中不足的都是 C#的文章


今天剛好遇到新的課題,發現用List.Find 剛好符合,可以來試試

在Framwork 下 泛型是一個相當好用方式,今天就來結合 泛型 與 List.Find 的結合



首先  讓我們創建 要做泛型的結構


Structure OriginInfo
    public Name as string
    public Org as pointf
End Structure

Dim OrgList as new List<of Origininfo>

Dim a1 as Origininfo
Dim a2 as Origininfo
Dim a3 as Origininfo


a1.Name = "AAA"
a1.Org = new PointF(100,100)


a2.Name = "BBB"
a2.Org = new PointF(100,100)

a3.Name = "CCC"
a3.Org = new PointF(100,100)

OrgList.ADD(a1)
OrgList.ADD(a2)
OrgList.ADD(a3)



資料建好後  再來就可以開始做搜尋的動做
(ps 在網路上有看到建議可以用Linq 的方式做查詢,其實也不是不行,但在使用上比較不方便,等會就可以看到,我們需要的是其中的特定資料
Linq 查詢出來的是一組資料,而且無法一開始就指定資料型態
特別需要注意,List.Find 是找出資料中符合的第一筆資料,如果裡面有2個以上資料相符, 而且都需要 ,就不適合用 Find 方法
或許是我這邊學的不好,有好的做法請多多提供)

Dim query as string = "BBB"
Dim result as Origininfo = OrgList.Find( Function( o as Origininfo) o.Name = query)


ok 就如此簡單,就能在 List 結構 找出所需要的資料

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Rh 的頭像
    Rh

    程式狂想曲

    Rh 發表在 痞客邦 留言(2) 人氣()