C# 级联分析
我可能有以下类型:C# 级联分析,c#,.net,parsing,tryparse,C#,.net,Parsing,Tryparse,我可能有以下类型: 带小数的数字:100.90 数字(int32):32 字符串:“ 我想要的是一个函数,它尝试解析为十进制,如果失败,则尝试解析为int,如果失败,则解析为字符串。 C#中任何具有以下功能的函数都是受欢迎的。()是您的朋友,但是我不明白您想要什么,因为所有有效的整数也都是有效的小数。()是您的朋友,但是我不明白您想要什么,因为所有有效的整数也都是有效的小数 public static object cascadeParse(string obj) { decimal d
带小数的数字:100.90
数字(int32):32
字符串:“ 我想要的是一个函数,它尝试解析为十进制,如果失败,则尝试解析为int,如果失败,则解析为字符串。 C#中任何具有以下功能的函数都是受欢迎的。()是您的朋友,但是我不明白您想要什么,因为所有有效的整数也都是有效的小数。()是您的朋友,但是我不明白您想要什么,因为所有有效的整数也都是有效的小数
public static object cascadeParse(string obj)
{
decimal decRet;
if (!decimal.TryParse(obj, out decRet))
{
int intRet;
if (!int.TryParse(obj, out intRet))
{
return obj;
}
else
{
return intRet;
}
}
else
{
return decRet;
}
}
但是,当传递可以解析为int
的内容时,此方法将始终返回decimal
,因为int
s始终可以解析为decimal
。您可能需要重新排列TryParse
s,以将int
一个放在第一位
但是,当传递可以解析为
int
的内容时,此方法将始终返回decimal
,因为int
s始终可以解析为decimal
。您可能需要对TryParse
s重新排序,将int
放在第一位。此函数最终会返回什么?如果成功解析为int或decimal,则返回格式化货币字符串。如果不是,则仅返回字符串此函数最终会返回什么?如果成功解析为int或decimal,则返回格式化货币字符串。如果不仅仅是绳子