namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Object st1 = new ST1();
string S1 = String.Empty;
{
class Program
{
static void Main(string[] args)
{
Object st1 = new ST1();
string S1 = String.Empty;
S1 = (String)st1;
S1 = st1 is String ? (String)st1 : null;
S1 = st1 as String;
}
}
}
}
//Empty class
public class ST1 { }
}
public class ST1 { }
}
S1 = (String)st1; - при отладке получим ошибку : "Unable to cast object of type 'ST1' to type 'System.String'."
S1 = st1 is String ? (String)st1 : null; - Сработает корректно.
S1 = st1 as String; - Сработает корректно.
S1 = st1 as String - всего лишь укороченный синтаксис для S1 = st1 is String ? (String)st1 : null;