Проверить, задан ли кортеж значений по умолчанию

Есть несколько способов сравнить c#.net значения по умолчанию с кортежем c#.net значений:

    [TestMethod]
    public void Default()
    {
        (string foo, string bar) MyMethod() => default;
        (string, string) x = default;

        var result = MyMethod();

        // These from your answer are not compilable
        // Assert.IsFalse(x == default);
        // Assert.IsFalse(x == default(string string));
        // Assert.IsFalse(x is default);
        // Assert.IsFalse(x is default(string string));

        Assert.IsFalse(Equals(x, default));
        Assert.IsFalse(Equals(result, default));

        Assert.IsTrue(Equals(x, default((string, string))));
        Assert.IsTrue(Equals(result, default((string, string))));
        Assert.IsTrue(result.Equals(default));
        Assert.IsTrue(x.Equals(default));
        Assert.IsTrue(result.Equals(default((string, string))));
        x.Equals(default((string, string)))
    }

Простой default перед его c#-language использованием в сравнении .cs-file должен быть преобразован .cs-file из его «чистого» null в кортеж .cs-file значений со значениями по csharp умолчанию для членов.

Вот valuetuple что у меня под отладчиком:

Проверить, задан ли кортеж значений по умолчанию_valuetuple

c#

c#-7.2

valuetuple

2022-11-02T14:05:42+00:00