list筛选出指定数据,excel筛选指定数据

http://www.itjxue.com  2023-01-07 22:37  来源:未知  点击次数: 

请教C#中的List,筛选list中特定元素的方法

简单的掉渣:

ListTrade newtrades = trades.FindAll(delegate(Trade p) { return p.Code == "0001"; });

要充分利用.net的优势,复杂问题简洁化,简洁不简单……

问题补充:先汗一下,这是匿名函数

怎样在list里面取出我想要得特定数据??

list没有找特定条件取出对象的方法 list只能按游标取

建议用hasmap 那样就可以取出特定的对象了

C#的问题,怎么在List集合中筛选数据?

方法一:Linq

ChannelList就是一个List类型的数据,IsOpen是其元素的属性

channelCount=(fromchannelinDevicesManager.Instance.CurrentDevice.ChannelList

wherechannel.IsOpen

groupchannelbychannel.ChannelID).Count();

方法二:泛型委托Predicate<T>

publicdelegateboolPredicate<inT>(

Tobj

方法三、

///<summary>

///筛选运送方式

///</summary>

///<paramname="list">运送方式集合</param>

///<paramname="strType">运送方式</param>

///<returns></returns>

privateList<FeeRuleDto>selectList(List<FeeRuleDto>list,stringstrType)

returnlist.FindAll(delegate(FeeRuleDtoinfo){

if(info.DeliveryType.ToString()==strType)

returntrue;

else{

returnfalse;

});

方法四、

使用List<T>获取数据库表的时候,每次用户操作都重新访问数据库,然后返回List<T>,会严重影响程序运行效率的方式,其实List<T>自带有筛选的方法,把想要的数据筛选到另一个List<T>中,不用重新访问数据库,直接筛选后绑定控件显示即可。

示例如下:

publicNumberModelcurrentmark;

publicMainFrmmainFrm;

privateList<GoodsModel>goodslist;

privateList<GoodsKindModel>goodskindlist;

privatevoidlstgoodkind_SelectedIndexChanged(objectsender,EventArgse)

try

if(lstgoodkind.SelectedValue.ToString()!="XY.Model.GoodsKindModel")

stringid=lstgoodkind.SelectedValue.ToString();

stringkname=lstgoodkind.Text;

if(kname!="全部")

List<GoodsModel>glist=goodslist.FindAll(delegate(GoodsModelp){returnp.GoodsKind==kname;});

bindgoods(dgvgoods,glist);

else

bindgoods(dgvgoods,goodslist);

catch(Exceptionex)

MessageBox.Show(ex.Message);

privatevoidbtnAdd_Click(objectsender,EventArgse)

try

stringgid=dgvgoods.Rows[dgvgoo

例如:跳过List前50条,然后取100条,可写为:

iclist_temp、iclist都为List类型

iclist_temp = iclist.Skip(50).Take(100).ToList();

取前100条,可以写为:

iclist_temp = iclist.Take(100).ToList();

ds.SelectedRows[0].Index].Cells["goodsid"].Value.ToString();

GoodsModelgoods=goodslist.Find(delegate(GoodsModelp){returnp.ID==gid;});

XY.BLL.ConsumeBll.Add(goods,currentmark,mainFrm.user);

catch(Exceptionex)

MessageBox.Show(ex.Message);

java中 如何从LIST 查找指定元素的位置

//先用contains判断是否有该元素

if(list集合.contains(对象)){

list集合.indexOf(对象名);

}

因为List 是一个元素有序的、可以重复、可以为 null?的集合;

所以;

indexOf可以获取元素出现的第一个位置的引索,与之相反的是lastlndexOf获取元素最后出现的位置引索,如果集合中没有该元素则返回-1,其原理都是利用equals方法配合历遍来判断。

扩展资料:

C++中list用法详解

.1list中的构造函数:

list() 声明一个空列表;

list(n) 声明一个有n个元素的列表,每个元素都是由其默认构造函数T()构造出来的

list(n,val) 声明一个由n个元素的列表,每个元素都是由其复制构造函数T(val)得来的

list(n,val) 声明一个和上面一样的列表

list(first,last) 声明一个列表,其元素的初始值来源于由区间所指定的序列中的元素

如何快速从list中查找一条数据

比如,你可以从中间的某个位置开始找,未必要从头开始找啊。

第二个思路,你可以把list 放进hashtable,hashtable查找的效率要比从头找要高。

还有,我个人感觉那个list的get(index),就是从头找的吧

hashtable的查找代码

public virtual bool ContainsKey(object key)

{

uint num;

uint num2;

Hashtable.bucket bucket;

if (key == null)

{

throw new ArgumentNullException("key", Environment.GetResourceString("ArgumentNull_Key"));

}

Hashtable.bucket[] buckets = this.buckets;

uint num3 = this.InitHash(key, buckets.Length, out num, out num2);

int num4 = 0;

int index = (int) (num % buckets.Length);

do

{

bucket = buckets[index];

if (bucket.key == null)

{

return false;

}

if (((bucket.hash_coll 0x7fffffff) == num3) this.KeyEquals(bucket.key, key))

{

return true;

}

index = (int) ((index + num2) % ((ulong) buckets.Length));

}

while ((bucket.hash_coll 0) (++num4 buckets.Length));

return false;

}

(责任编辑:IT教学网)

更多

推荐HTML/Xhtml文章