Пытаюсь разобраться в принципе работы... На примере:
BigInteger bnum = BigInteger.Parse("2443534553434233455436465677687669784354423324");
int intnum = 131;
Console.WriteLine(bnum > intnum); //true
Как происходит сравнение int, short, ushort и т.д. переводятся в тип long, который прописан в System.Numerics.
public static bool operator >(BigInteger left, long right);
public static bool operator >(BigInteger left, BigInteger right);
или всё таки эти типы преобразуются в BigInteger. И как вся эта магия происходит?
Спасибо!
Пример класса с оператором преобразования и сравнения
class MyClass
{
private int _initial;
public MyClass (int initial) => _initial = initial;
public static implicit operator MyClass(int v) => new MyClass(v);
public static bool operator < (MyClass l, MyClass r) => l._initial < r._initial;
public static bool operator > (MyClass l, MyClass r) => l._initial > r._initial;
}
Как использовать
var mc = new MyClass(1000);
Console.WriteLine(mc < 10);
Console.WriteLine(mc > 10);
Пример класса с перегруженными операторами сравнения
class MyClass
{
private int _initial;
public MyClass (int initial) => _initial = initial;
public static bool operator < (MyClass l, long r) => l._initial < r;
public static bool operator > (MyClass l, long r) => l._initial > r;
}
Использовать можно точно также
var mc = new MyClass(1000);
Console.WriteLine(mc < 10);
Console.WriteLine(mc > 10);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Создал специальный вспомогательный класс для соединения и работы с БД
Прошу помощи в разработке программы, оригинал на паскале написан и на 32/64 не переписать его и не запустить (досбоксы и тому подобное не подходит)Надо...
Ошибка в запросe (1054): Unknown column 'gRomNo' in 'field list'
Пытаюсь написать скрипт, который реализует удаленный вход на mysql сервер и делает там запрос, затем выводит это все в файл, но при запуске скрипта...