我不知道这个问题的标题是什么。 如何使用通用列表中两个数字之间的比较从通用List获取数据?使用Linq或任何有效的方式。
例如: 我有一个类数据库通用列表:
gems.Add (new gem ("A", 0, 15, 1));
gems.Add (new gem ("B", 16, 46, 2));
gems.Add (new gem ("C", 47, 107, 3));
gems.Add (new gem ("D", 108, 228, 4));
使用参数(Code,time1,time2,gemspent)
我想要的是从宝石通用列表中的两个数字之间选择一个gemspent或代码。
// --------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----- //
我想要的例子:
当我输入5 =>这将得到列表中的“A”(这5是> = 0&&< = 15这是在A范围内)
当我输入16 =>这将得到列表中的“B”(这16是> = 16&& < = 46这个B内范围)
// --------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----- //
到目前为止我的尝试:
Gem = gDatabase.gems.Where (j => {return j.time1 >= 5 && j.time2 <= 5; }).Select (j => j.gemspent).Sum();
return 0;
Gem = gDatabase.gems.FindIndex(j => {return j.time1 >= 15 && j.time2 <= 15; });
return -1;
由于
丹尼斯
答案 0 :(得分:0)
我自己得到了解决方案,这只是我犯的一个简单错误。
只需更改以下代码:
Gem = gDatabase.gems.Where (j => {return j.time1 >= 5 && j.time2 <= 5; }).Select (j => j.gemspent).Sum();
致:
Gem = gDatabase.gems.Where (j => {return 5 >= j.time1 && 5 <= j.time2; }).Select (j => j.gemspent).Sum();
和
只需更改以下代码:
Gem = gDatabase.gems.FindIndex(j => {return j.time1 >= 15 && j.time2 <= 15; });
致:
Gem = gDatabase.gems.FindIndex(j => {return 5 >= j.time1 && 5 <= j.time2; });
修复它。