相关疑难解决方法(0)

按许多字段订购清单(C#)?

我想在许多字段中订购C#中的对象列表,而不仅仅是一个.例如,假设我有一个名为X的类,它有两个属性A和B,我按顺序有以下对象:

object1 => A ="a",B ="h"
object2 => A ="a",B ="c"
object3 => A ="b",B ="x"
object4 => A ="b" ,B ="b"

我想首先按A属性排序列表,当它们等于时,按B元素排序,所以顺序为:

"a""c"
"a""h"
"b""b"
"b""x"

据我所知,OrderBy方法按一个参数排序.

问题:如何通过多个字段订购C#列表?

非常感谢你

c# lambda list sql-order-by

91
推荐指数
3
解决办法
10万
查看次数

在C#中对对象列表进行排序

public class CarSpecs
{
  public String CarName { get; set; }

  public String CarMaker { get; set; }

  public DateTime CreationDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是一个列表,我试图找出一种有效的方法来排序列表CarList,包含汽车生产日期的6(或任何整数)汽车.我打算做冒泡排序,但那会有用吗?任何帮助?

谢谢

c# sorting class list

37
推荐指数
5
解决办法
8万
查看次数

OrderBy和List与IOrderedEnumerable

我遇到了以下代码的意外问题.

List<string> items = new List<string>();
items = items.OrderBy(item => item);
Run Code Online (Sandbox Code Playgroud)

此代码生成错误:

无法将类型'System.Linq.IOrderedEnumerable'隐式转换为'System.Collections.Generic.List'.存在显式转换(您是否错过了演员?)

看来我可以改为items类型IEnumerable<string>,错误就消失了.但我需要能够将项目添加到列表中,这IEnumerable不支持.

有人可以帮我理解这个错误,最容易解决的是什么?简单地投射结果是否安全?

c# linq

27
推荐指数
4
解决办法
4万
查看次数

在两个或多个值上排序通用列表

我们有一个通用List(Of Product),必须在Product类的两个或多个属性上进行排序.

产品类具有属性"Popular"数字(asc),"Clicked"数字(desc),"Name"字符串(asc).为了命名属性,我们希望列表进行排序.

如何用lamba语句排序?如果找到基于一个属性对列表进行排序.

.net vb.net sorting generics lambda

18
推荐指数
4
解决办法
3万
查看次数

基于非比较排序问题的排序算法?

我目前面临一个困难的排序问题.我有一组事件需要相互排序(比较排序)和它们在列表中的相对位置.

在最简单的术语中,我有事件列表,每个事件都有一个优先级(整数),一个持续时间(秒),以及事件可以出现在列表中的最早发生时间.我需要根据优先级对事件进行排序,但是在最早发生的时间之前,列表中不会出现任何事件.这是一个(希望)让它更清晰的例子:

// Psuedo C# code
class Event { int priority; double duration; double earliestTime ; }

void Example()
{
    Event a = new Event { priority = 1, duration = 4.0, earliestTime = 0.0 };
    Event b = new Event { priority = 2, duration = 5.0, earliestTime = 6.0 };
    Event c = new Event { priority = 3, duration = 3.0, earliestTime = 0.0 };
    Event d = new Event { priority = 4, duration …
Run Code Online (Sandbox Code Playgroud)

c# sorting algorithm comparison mathematical-optimization

16
推荐指数
1
解决办法
2060
查看次数

如何对文件txt行5000000进行排序?

我有一个500000行的无序文件,其信​​息和日期如下:

for instance          desired Result
------------          ---------------      
 723,80                1,4   
 14,50                 1,5 
 723,2                 10,8
 1,5                   14,50 
 10,8                  723,2 
 1,4                   723,80       
Run Code Online (Sandbox Code Playgroud)

现在我该如何实现这样的事情呢?

我已经尝试过sortedList和sorteddictionary方法但是没有办法在列表中实现新值,因为列表中有一些重复值.如果你建议最好的方法,我会很感激.

还有一件事,我已经看到了这个问题,但是当我使用File时,这个使用了这个类!

C#List <>按x然后y排序

c# sorting

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

使用2个字段列出C#排序

我有一个自定义对象列表.该对象包含1个字符串和2个小数.我想基于第二个十进制字段然后第一个十进制字段对列表进行排序.

例如:

object 1 -> "a", 100, 10
object 2 -> "b", 300, 0
object 3 -> "c", 200, 200
object 4 -> "b", 400, 0
Run Code Online (Sandbox Code Playgroud)

将被分类为对象3,对象1,对象4,对象2

如果这已经得到回答,我很抱歉 - 请指出我找不到的帖子

c# sorting lambda list

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

两种变量排序算法

我正在寻找一个从西向东和南向北分类位置点(纬度和经度)的算法.

排序时,应从西部和南部开始对点进行排序.比较两个点时,首先比较经度.列表中的值越大(越西)点越高.如果这两个点具有相同的经度,不太可能但可能,则比较两个点的纬度.最低值(更南)位于列表中的较高位置.

这个algorthm存在于某个地方吗?也许在C#?

ps-这些计算将限于美国大陆的点数.没有负纬度/经度值.

c# sorting

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

如何排序通用列表?

我需要提升一般的List.这是我的通用类型:

public class ContainerData
{
   private Point pnt;
   private Size size;
   private Double Area;
   private Contour<Point> contour;

   public ContainerData()
   { }

   public ContainerData(ContainerData containerData)
   { 
     this.pnt=containerData.pnt;
     this.size=containerData.size;
     this.Area=containerData.Area;
     this.contour = containerData.contour;
   }

   public Point pointProperty
   {
       get
       {return pnt;}
       set
       {pnt = value;}
   }

   public Size sizeProperty
   {
       get
       {return size;}
       set
       {size = value;}
   }

   public Double AreaProperty
   {
       get
       {return Area;}
       set
       {Area = value;}
   }
   public Contour<Point> ContourProperty
   {
       get
       {return contour;}
       set
       { contour = value; …
Run Code Online (Sandbox Code Playgroud)

.net c# list

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

对另一个列表排序列表

我用三个字段创建了ac#my class list.该字段还列出了设备ID,设备模式,时间.我按时间排序了我的班级名单.时间列表已成功排序,但设备模式列表未按时间列表排序.我怎样才能实现它.我在下面给出的示例代码.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PBAttendance.App_Code
{
    public class DeviceLogData
    {
        List<int> deviceID = new List<int> { };
        List<int> deviceMode = new List<int> { };
        List<DateTime> time = new List<DateTime> { };
        public List<int> DeviceID
        {
            get { return deviceID; }
            set { deviceID = value; }
        }
        public List<int> DeviceMode
        {
            get { return deviceMode; }
            set { deviceMode = value; }
        }
        public List<DateTime> Time
        {
            get { return time; } …
Run Code Online (Sandbox Code Playgroud)

c#

0
推荐指数
1
解决办法
219
查看次数