【问题标题】:Filter / Iterate a List by values inside List C#按列表 C# 中的值过滤/迭代列表
【发布时间】:2017-05-30 23:16:11
【问题描述】:

您好,我在 ASP.NET MVC Web 中使用 c#。

我有一个对象列表,其中包含示例中不同的不同数据:

List<One> obj = new List<One>();
obj[0].studentname = "rahul";
obj[0].rolenumber = "20";

obj[1].studentname = "padhiyar";
obj[1].rolenumber = "74";

...
...
...

obj[max].studentname = "lastname of the student";
obj[max].rolenumber = "his / her roll number";

我想迭代这个列表并获得另一个列表,该列表按角色编号排序,该列表是字符串,并且某些对象可能没有角色编号,我该怎么做?

有人知道吗?

【问题讨论】:

  • 不知道答案的请不要记下来。如果有任何问题,请在评论中说出来,只需将其标记下来。谢谢。
  • LINQ。你可以通过它处理
  • @onur 我不知道怎么和 rolenumber 是字符串所以我怎么能用 linq 做到这一点
  • 你说的another list是什么结构?
  • 我也可以存储在 var 中的相同列表。

标签: c# list loops sorting filter


【解决方案1】:

在这种情况下,您将所有没有 parsebar rolnumber 的学生放在顶部,如果您确实希望将它们放在底部,请将 Int32.MinValue 更改为 Int32.MaxValue

var sorted = obj.OrderBy(x =>
{
    int res;
    bool parsed = Int32.TryParse(x.rolenumber, out res);
    return parsed? res: Int32.MinValue;
});

【讨论】:

    猜你喜欢
    • 2016-04-12
    • 2011-08-05
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多