說明:在list范型集合中提供了一類委託,以確定要尋找集合中的哪些符合條件的單個元素或者集合
msdn裡描述如下:predicate 委託,用於定義要搜尋的元素應滿足的條件。
這一點msdn幫助裡面說得很簡單,只以list范型集合為例說了一些簡單應用,這些完全不能滿足
一些複雜的應用,比如查詢集合中符合某些特性的單個元素或者元素集合,因為predicate 委託只能使用
乙個引數,寫本文的目的就是說明如何滿足複雜的要求在范型集合中查詢元素
using
system;
using
system.collections.generic;
using
system.text;
namespace
listdemo
set}
public
intcatalogid
set}
public
cataloginfo(
intcatalogid,
string
catalogname)}}
using
system;
using
system.collections.generic;
using
system.text;
namespace
listdemo
set}
public
catalogfinder()
public
catalogfinder(
intcatalogid)
//////
符合predicate>t
///
///
///
public
bool
findbycatalogid(cataloginfoinfo)}}
using
system;
using
system.collections.generic;
using
system.text;
namespace
listdemo
set}
public
string
boardname
set}
public
intboardid
set}
public
boardinfo(
intboardid,
string
boardname,
intcatalogid)}}
上面分別是兩個范型集合中用到的實體,以及將來要用於查詢這些實體的輔助類,下面距離說明用法:
using
system;
using
system.collections.generic;
using
system.drawing.imaging;
using
listdemo;
//////
說明:在list
范型集合中提供了一類委託,以確定要尋找集合中的哪些符合條件的單個元素或者集合
///msdn裡描述如下:predicate委託,用於定義要搜尋的元素應滿足的條件。
///這一點msdn幫助裡面說得很簡單,只以list
范型集合為例說了一些簡單應用,這些完全不能滿足
///一些複雜的應用,比如查詢集合中符合某些特性的單個元素或者元素集合,因為predicate委託只能使用
///乙個引數,寫本文的目的就是說明如何滿足複雜的要求在范型集合中查詢元素
//////
日期:2007-12-28
//////
public
class
example
//初始化小類別集合,隨機指定它們的大類別編號
list
<
boardinfo
>
boardlist
=new
list
<
boardinfo
>(50
);randomrandom
=new
random(
100);
for(
inti=0
;i<
100;i++)
console.writeline(
"*****==在大類別中查詢*****===");
catalogfindercatalogfinder
=new
catalogfinder(5);
cataloginfocataloginfo
=cataloglist.find(catalogfinder.findbycatalogid);
console.writeline(
"該大類別的名稱:"+
cataloginfo.catalogname);
console.writeline(
"*****==在小類別中查詢*****===");
boardfinderboardfinder
=new
boardfinder();
boardfinder.boardid=25
;boardinfoboardinfo
=boardlist.find(boardfinder.findbyboardid);
console.writeline(
"該小類別資訊:小類別名稱,所屬大類別編號
",boardinfo.boardname,boardinfo.catalogid);
console.writeline(
"*****==在小類別中按大類別編號查詢*****===");
boardfinder.catalogid=9
;list
<
boardinfo
>
boardinfolist
=boardlist.findall(boardfinder.findbycatalogid);
foreach
(boardinfoinfo
inboardinfolist)
,所屬大類別編號
",info.boardname,info.catalogid);
}console.readline();}}
以下是輸出結果:
在List范型集合中實現自定義條件複雜查詢
說明 在list范型集合中提供了一類委託,以確定要尋找集合中的哪些符合條件的單個元素或者集合 msdn裡描述如下 predicate 委託,用於定義要搜尋的元素應滿足的條件。這一點msdn幫助裡面說得很簡單,只以list范型集合為例說了一些簡單應用,這些完全不能滿足 一些複雜的應用,比如查詢集合中符...
自定義List物件集合排序
1.定義實體類 public class commodity public commodity string type,string name,double price,string shopname,int sales 此處省略類屬性的get set方法 public string tostrin...
Java集合整理 自定義泛型
泛型是jdk1.5,新新增的特性,其作用是對集合進行 引數化型別 在jdk1.5之前,還沒有泛型這一概念,集合中的元素是object型別,所以,每次使用集合中的元素時,需要將元素向下造型成對應型別才能使用,錯誤的可能性很大,非常的不方便。為了簡化操作,提高效率,便有了泛型這一新特性,有了泛型,集合就...