【问题标题】:Sorting array with multiple different fields - doesn't sort by char对具有多个不同字段的数组进行排序 - 不按字符排序
【发布时间】:2015-02-25 22:23:37
【问题描述】:

这是我的课:

public class walidacja
{
    public char znak { get; set; }
    public double wyj_neuron_1 { get; set; }
    public double wyj_neuron_2 { get; set; }
    public double wyj_neuron_3 { get; set; }
    public double wyj_neuron_1_norm { get; set; }
    public double wyj_neuron_2_norm { get; set; }
    public double wyj_neuron_3_norm { get; set; }
    public bool rozpoznaj { get; set; }

    public walidacja(char lit, double a, double b, double c, bool test)
    {
        this.znak = lit;
        this.wyj_neuron_1 = a;
        this.wyj_neuron_2 = b;
        this.wyj_neuron_3 = c;
        this.wyj_neuron_1_norm = a / (a + b + c);
        this.wyj_neuron_2_norm = b / (a + b + c);
        this.wyj_neuron_3_norm = c / (a + b + c);
        this.rozpoznaj = test;
    }
}

那我声明

valid = new walidacja[counter];

我用数据填充数组。 Znak 填充了相等数量的 3 个字母(因此如果 counter = 15,则 znak 字段中将有 5 个 a、5 个 b、5 个 c)。

为什么不按 char znak 对数组进行排序?

valid.OrderBy(a => a.znak);

【问题讨论】:

  • Sort/OrderBy 不作用于对象 - 它返回一个新的validordered

标签: c# arrays sorting


【解决方案1】:

OrderBy 返回一个新序列,它不会改变你的数组。您需要重新分配它:

valid = valid.OrderBy(a => a.znak).ToArray();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-16
    相关资源
    最近更新 更多