is: Cast Examples
This page was last reviewed on Nov 1, 2023.
Dot Net Perls
Is-keyword. This C# cast returns true if it succeeds. It returns false if the cast fails. This operator can be used to capture a cast variable.
This operator is useful when checking types in if-statements and expressions. We can use "is" for pattern-matching—it can capture the cast value.
An example. The is-operator is used to create an expression. It returns a boolean result of true or false. This is compatible with the if-statement, which requires a boolean context.
Info The is-operator evaluates the entire class derivation chain when it is applied. The string is both an object and string.
Here The first 2 if-statement bodies are reached. Their expressions are evaluated to the true value: the casts succeed.
Then The third if-statement body is not fully evaluated. The string is not a StringBuilder type.
using System; using System.Text; // Create a string variable and cast it to an object. string value1 = "Example"; object value2 = value1; // Apply the is-operator with 3 different parameters. if (value2 is object) { Console.WriteLine("is object"); } if (value2 is string) { Console.WriteLine("is string"); } if (value2 is StringBuilder) { Console.WriteLine("is StringBuilder"); // Not reached. }
is object is string
Is, pattern matching. Here we see a separate syntax form for the "is" operator. We have an object, and we want to cast it to a string. We use pattern matching for this.
Here The is-cast tests to see if the variable "wrapper" is a string. If it is a string, a string local called temp2 is introduced.
Important This use of the is-cast combines the as-cast with the is-cast. This is probably the best way to cast C# variables.
string temp = "ancient ship"; object wrapper = temp; // Use pattern matching to cast the object to a variable. // ... Wrapper is an object. // ... Temp2 is a string reference. if (wrapper is string temp2) { System.Console.WriteLine($"STRING = {temp2}, LENGTH = {temp2.Length}"); }
STRING = ancient ship, LENGTH = 12
Instructions. The is-operator is implemented with "isinst". This instruction checks the top of the evaluation stack and compares the type of that variable to the argument type.
Intermediate Language
Note, as. Often, you may need to use in some way a cast value. To store the value received by a cast in a local variable, also consider the as-operator cast.
A summary. The is-operator is exception-neutral. It is elegantly used in an if-statement expression—it is evaluated to a boolean value. We examined the instruction-level code.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Nov 1, 2023 (edit).
© 2007-2024 Sam Allen.