Проверить, задан ли кортеж значений по умолчанию
Есть несколько способов сравнить 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 что у меня под отладчиком:
c#
c#-7.2
valuetuple
2022-08-06T16:29:40+00:00
2022-11-02T14:05:42+00:00
ValkyrieOFF
Вопросы с похожей тематикой, как у вопроса:
Проверить, задан ли кортеж значений по умолчанию
Предупреждение о файлах Cookies
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.