相关疑难解决方法(0)

如何在C#中对List进行排序

我有一节课:

public class MyObject
{
public string Name;
public int Age;
}
Run Code Online (Sandbox Code Playgroud)

我有一个Myobject对象列表:

Name Age
ABC 12
BBC 14
ABC 11
Run Code Online (Sandbox Code Playgroud)

如何使用条件对此列表进行排序:首先排序名称,然后排序年龄.使用此列表,排序后的结果:

Name Age
ABC 11
ABC 12
BBC 14
Run Code Online (Sandbox Code Playgroud)

.net c#

13
推荐指数
2
解决办法
975
查看次数

按字符串属性C#排序对象列表

可能重复:
使用Lambda/Linq将列表排序到对象
C#List <> OrderBy Alphabetical Order

如何通过字符串属性按字母顺序对对象列表进行排序.

我尝试在属性上实现IComparable但我只想出如何对第一个字符进行排序(使用char).

编辑:这是一些示例代码.

class MyObject {
    public string MyProperty {get;set;}
}

List<MyObject> sampleList = new List<MyObject>();    

MyObject sample = new MyObject();
sample.MyProperty = "Aardvark";

MyObject sample2 = new MyObject();
sample2.MyProperty = "Zebra";

sampleList.Add(sample);
sampleList.Add(sample2);

sampleList.Sort(); // or something similar

foreach (var item in sampleList) {
    Console.WriteLine(item.MyProperty);
}
Run Code Online (Sandbox Code Playgroud)

应输出Aardvark和Zebra(按字母顺序排列).

谢谢!

.net c#

10
推荐指数
2
解决办法
1万
查看次数

linq命令列表(MyObjects)

如何通过我的对象列表中的传递字符串值进行排序?我需要在我的List(Of)对象上进行分页和排序,分页没有问题,但我不知道是谁让Order By工作.

这是我目前正在做的事情,它的工作很棒:

Return returnReports.Skip(PageSize * (PageNumber-1)).Take(PageSize).ToList()
Run Code Online (Sandbox Code Playgroud)

我如何让它工作?

Return returnReports.OrderBy(SortColumn).Skip(skip).Take(PageSize).ToList()
Run Code Online (Sandbox Code Playgroud)

SortColumn是传递的字符串值

.net linq vb.net asp.net

6
推荐指数
1
解决办法
1万
查看次数

Linq从字符串排序方向

我正在尝试对一组用户进行排序.我可以访问排序属性和方向(asc,desc).我目前的查询订单如下.但正如您所看到的那样,它并未考虑排序方向.如何在不必使用Dynamic Linq或为"asc"或"desc"排序方向添加另一组语句的情况下构建此表达式.

public override IQueryable<DalLinq.User> GetSort(IQueryable<DalLinq.User> query) 
{
    //SelectArgs.SortDirection <- Sort Direction
    switch (SelectArgs.SortProperty) 
    {
      case "LastName":
        query = query.OrderBy(p => p.LastName);
        break;
      case "FirstName":
        query = query.OrderBy(p => p.FirstName);
        break;
      default:
        query = query.OrderBy(p => p.UserName);
        break;
    } 

    return query;
}
Run Code Online (Sandbox Code Playgroud)

c# linq sorting linq-to-sql sortdirection

6
推荐指数
1
解决办法
6894
查看次数

如何排序类型列表集合

我喜欢上课

public class ProgressBars
{
    public ProgressBars()
    { }
    private Int32 _ID;
    private string _Name;
    public virtual Int32 ID {get { return _ID; } set { _ID = value; } }
    public virtual string Name { get { return _Name; } set { _Name = value; }}
}
Run Code Online (Sandbox Code Playgroud)

这是List集合

List<ProgressBars> progress;
progress.Sort //I need to get sort here by Name
Run Code Online (Sandbox Code Playgroud)

如何按名称对此集合进行排序?

谢谢

c# asp.net list

3
推荐指数
1
解决办法
883
查看次数

使用Linq.Expressions.Expression排序

我写了这个代码IQueryable<T>按列排序sortColumn.我想扩展它,以便列的值BirthDate等于的条目DateTime.Today将排在第一位,但我无法找到或想到如何完成这项工作.

public static IQueryable<T> OrderByField<T>(this IQueryable<T> q, string sortColumn, bool asc)
{
    var param = Expression.Parameter(typeof(T), "p");

    var prop = Expression.Property(param, sortColumn);

    var exp = Expression.Lambda(prop, param);

    string method = asc ? "OrderBy" : "OrderByDescending";

    Type[] types = new[] { q.ElementType, exp.Body.Type };

    var mce = Expression.Call(typeof(Queryable), method, types, q.Expression, exp);

    return q.Provider.CreateQuery<T>(mce);
}
Run Code Online (Sandbox Code Playgroud)

.net c# linq sorting expression-trees

2
推荐指数
1
解决办法
5492
查看次数

如何查找最接近条件的数组内的数据

我有一个双数组 Double[] array = new Double[5];

例如,如果数组包含如下数据:

{0.5,1.5,1.1,0.6,2}

如何找到最接近1的数字?输出应该是1.1,因为在这种情况下它是最接近1的那个.

c# arrays closest

2
推荐指数
1
解决办法
188
查看次数