Условие:
В каких строчках указано корректное преобразование типов?
\nint intValue = 10;\nshort shortValue = 10;
\nConvertableClass c1 = intValue; // Line 1\nConvertableClass c2 = new ConvertableClass(shortValue); // Line 2\nint l1 = c1.Value; // Line 3\ndouble d1 = c1; // Line 4\ndouble d2 = (double)c1; // Line 5 \ndouble d3 = (ConvertableClass)shortValue; // Line 6\nstring s1 = (string)c1; // Line 7\nstring s2 = c1; // Line 8
\nclass ConvertableClass
{
public long Value { get; }
public ConvertableClass(long value)
{
Value = value;
}
public static implicit operator ConvertableClass(int value)
{
return new ConvertableClass((long)value);
}
public static implicit operator double(ConvertableClass c)
{
return c.Value;
}
public static explicit operator string(ConvertableClass c)
{
return c.Value.ToString();
}
}

