这是我的班级:
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个字母(因此,如果计数器= 15,那么在znak字段中将有5个a,5个b,5个c。)
为什么这不按char znak排序数组?
valid.OrderBy(a => a.znak);
答案 0 :(得分:2)
OrderBy
返回一个新序列,它不会更改您的数组。您需要将其分配回来:
valid = valid.OrderBy(a => a.znak).ToArray();