```
Distance.Parse("3 this should not be valid");
```
This is fine, but if the number is removed:
```
Distance.Parse("this should not be valid");
```
Then the function returns a Distance object set to "0 ft" and IsInvalid=false.
Invalid text without a number should throw an exception.
Comments: ** Comment from web user: bj0 **
When I posted this, the latest version on Nuget was 1.5.1, now it is 1.6.0 and the behavior is the same.
The behavior is opposite of what you describe as "technically consistent". The exception is thrown in the first case (with the 3). The second case, where there is no valid number or unit, returns a *valid* value of ```0 ft```.
There is also no TryParse method on the Distance object.
I am not sure what you mean by "technically consistent" with VB, as I have only used C#. In either case, the input cannot be correctly parsed as a valid, corresponding distance unit in the Distance class. Assuming a *valid* value of ```0 ft``` when the input does not correspond to that can cause problems with bad input. Currently I have to add a layer of Regex checking first to see if it is in an invalid form that will not be caught by ```.Parse()```