Runtime: Kode hash default untuk struct dengan bidang ganda atau float salah

Dibuat pada 24 Feb 2018  ·  3Komentar  ·  Sumber: dotnet/runtime

Pembicara:

using System;

struct StructWithDoubleField
{
    public double value;
}

class My {

    static void Main() {
        StructWithDoubleField s1;
        s1.value = 0.0;
        StructWithDoubleField s2;
        s2.value = -0.0;

        Console.WriteLine(s1.GetHashCode() == s2.GetHashCode() ? "PASSED" : "FAILED");
    }

}

Komentar yang paling membantu

Implementasi default GetHashCode untuk struct seharusnya throw new NotSupportedException("Tomato!"); :grin:

Semua 3 komentar

Implementasi default GetHashCode untuk struct seharusnya throw new NotSupportedException("Tomato!"); :grin:

@jkotas apa proses untuk meminta port setidaknya bagian bidang object dari perbaikan ke rilis tambalan? Mengingat bug hilir yang dilaporkan pelanggan seperti aspnet/Mvc#7673, sepertinya kami membutuhkan ini setidaknya di 2.0.x.

/cc @davidfowl @Eilon @Petermarcu

Apakah halaman ini membantu?
0 / 5 - 0 peringkat