2015-10-19 62 views
0

例如,如果我有一个属性类型为int的动物对象。 我有这样的方式如何从数字数据类型属性检查字符串值?

if(animal.legs == 4) 
{ 
    Console.WriteLine("Dog"); 
} 

但如果用户输入的腿的值作为字符(“A,...,Z”)或空(“”),我不得不放弃编程一个例外。

换句话说

if (animal.legs.HasValue ||animal.legs.ToString() == "") 
{ 
    Console.WriteLine("Legs should be integer") 
} 
else 
{ 
    Console.WriteLine("Dog"); 
} 

对于上面的代码,我总是让“狗”,无论价值是什么。看起来它没有检测到null或char类型。如何使这个int类型的检测字符或空类型的数据。

+1

@Cyral一个int.TryParse是''INT(但确实应该在后拼写出来 - 那么到底是不是好地方难题如“猜猜这个代码如何编译”/“它是什么类型”) –

+0

“但是如果用户输入” - 那个代码与那个语句有关? –

+0

呵呵,'int.TryParse()'? – Mephy

回答

-1

为什么不这样做基于代码的animal.legs

int legs = 0; 
if(int.TryParse(animal.legs.value, out lets) && legs == 4) { 
    Console.WriteLine("Dog"); 
} else { 
    // do your error handling 
} 
+1

你不应该在课堂上有无效的数据,尝试解析应该是当用户输入数据 – pm100

+0

是的..真的。 OP的问题本身并不明确。 – DarkKnight