Your code does not follow the pattern matching syntax; I don't see "is" anywhere. That's what is actually doing the casting
Edit: I think I'm completely wrong about "is" being required
Your code does not follow the pattern matching syntax; I don't see "is" anywhere. That's what is actually doing the casting
Edit: I think I'm completely wrong about "is" being required
I see.
The book uses a very specific scenario where o
is an object that would accept any type. So using the object data type worked. Check the OP for the edit.
An integer will never be a string. Originally you create an integer variable so it's telling you the string case is pointless.
So c# in runtime already knows the type of o(unless you do some silly magic ofcourse) If you wanna change o for debug purposes you can try .GetType() and typeOf
You can check the type with
bool isString = o.GetType() == typeof(string);
(Sorry for any errors I'm on phone so code fiddlers aren't that great)
The book uses a very specific scenario where o
is an object that would accept any type. So using the object data type worked. Check the OP for the edit.
Getting started
Useful resources
IDEs and code editors
Tools
Rules
Related communities
Wikipedia pages