java 过滤 列表,从列表中过滤列表

底线是我想要一个linq语句,返回与下面的代码相同的列表 .

我觉得这是可能的,我觉得在我放弃之前我已经非常接近,并且用更多行代码拼出了我想要的东西 .

虽然我会喜欢和欣赏任何能展示我未来想要实现的东西并取代我所拥有的东西的人 .

public ObservableCollection IndexChannels

{

get

{

ObservableCollection filtered = new ObservableCollection();

filtered.Add(indexChannels.First());//add Disabled no matter what

//add the cur channels selected index if it isn't already disabled

if (!filtered.Contains(indexChannels.FirstOrDefault(i => i == CurChannel.IndexChannel)))

{

filtered.Add(indexChannels.FirstOrDefault(i => i == CurChannel.IndexChannel));

}

foreach (PdioChannelModel ch in channels)

{

//if the channels mode isn't q-decode or quad index add its Number as an index

if (ch.Mode.Value != "Q-Decode" && ch.Mode.Value != "Quad Index")

{

filtered.Add(indexChannels.FirstOrDefault(i => i.ID == ch.Number));

}

}

return filtered;

}

}

VarItem的基本结构

公共类VarItem {public int ID {get;私人集; } public string Value {get;私人集;公共字典MetaData {get;私人集; }

public VarItem(int id, string value)

{

this.ID = id;

this.Value = value;

MetaData = new Dictionary();

}

示例主列表包含VarItems:

-1,“禁用”

1,“ Channels 1”

2,“ Channels 2”

3,“ Channels 3”

过滤的列表应始终包含 VarItem(-1, Disabled) . 它还应该包含 VarItem , ID 匹配 CurChannel.IndexChannel ,最后它应该包含任何 VarItem ,其中ID匹配任何 PdioChannelModel.Number 其中 PdioChannelModel.Mode.Value != "Q-Decode" or "Quad Index"

如果我错过任何需要的细节,请告诉我 . 如果我困惑你,写了很多或需要澄清,也请告诉我 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值