AZ
public static T UncheckedAddNumbers(T a, T b) => (T) ((dynamic) a + (dynamic) b)Size: a a a
AZ
public static T UncheckedAddNumbers(T a, T b) => (T) ((dynamic) a + (dynamic) b)AZ
AZ
(L
public static ValueType UncheckedAddNumbers(this IConvertible numeric1, IConvertible numeric2)
{
bool isNumeric1 = numeric1 switch
{
byte number => true,
sbyte number => true,
Int16 number => true,
UInt16 number => true,
Int32 number => true,
UInt32 number => true,
Int64 number => true,
UInt64 number => true,
double number => true,
float number => true,
_ => false,
};
bool isNumeric2 = numeric2 switch
{
byte number => true,
sbyte number => true,
Int16 number => true,
UInt16 number => true,
Int32 number => true,
UInt32 number => true,
Int64 number => true,
UInt64 number => true,
double number => true,
float number => true,
_ => false,
};
if (!isNumeric1 || !isNumeric2)
{
throw new ArgumentException("Arguments must be a numeric type");
}
dynamic number1 = numeric1;
dynamic number2 = numeric2;
return number1 + number2;
}AZ
public static ValueType UncheckedAddNumbers(this IConvertible numeric1, IConvertible numeric2)
{
bool isNumeric1 = numeric1 switch
{
byte number => true,
sbyte number => true,
Int16 number => true,
UInt16 number => true,
Int32 number => true,
UInt32 number => true,
Int64 number => true,
UInt64 number => true,
double number => true,
float number => true,
_ => false,
};
bool isNumeric2 = numeric2 switch
{
byte number => true,
sbyte number => true,
Int16 number => true,
UInt16 number => true,
Int32 number => true,
UInt32 number => true,
Int64 number => true,
UInt64 number => true,
double number => true,
float number => true,
_ => false,
};
if (!isNumeric1 || !isNumeric2)
{
throw new ArgumentException("Arguments must be a numeric type");
}
dynamic number1 = numeric1;
dynamic number2 = numeric2;
return number1 + number2;
}Т8
public static T UncheckedAddNumbers(T a, T b) => (T) ((dynamic) a + (dynamic) b)a и b тут обязаны быть одинаковым типом, разве нет? Что будет, если я передам sbyte и UInt32?Т8
AZ
AZ
a и b тут обязаны быть одинаковым типом, разве нет? Что будет, если я передам sbyte и UInt32?AZ
Т8
AZ
AZ
Т8
AZ
Т8
AZ
AZ
AZ
Т8