C# 如何更改方法';s基于参数值的返回类型?
如何根据returnType的值更改此方法的返回类型? 我希望返回int、float和decimals,而不为每一个创建单独的方法。具体来说,如何根据returnType的值更改第一行中的小数点C# 如何更改方法';s基于参数值的返回类型?,c#,C#,如何根据returnType的值更改此方法的返回类型? 我希望返回int、float和decimals,而不为每一个创建单独的方法。具体来说,如何根据returnType的值更改第一行中的小数点 public static decimal RequestNumber(string returnType) { Console.WriteLine(inputRequest); decimal result; switch(returnTyp
public static decimal RequestNumber(string returnType)
{
Console.WriteLine(inputRequest);
decimal result;
switch(returnType)
case decimal:
bool parsed = decimal.TryParse(Console.ReadLine(), out result);
case int:
bool parsed = int.TryParse(Console.ReadLine(), out result);
case single:
bool parsed = single.TryParse(Console.ReadLine(), out result);
return result;
}
任何帮助都将不胜感激 您可以使用对象类型,然后在调用时强制转换返回结果
private static object duo(string req)
{
if (req == "Y")
{
string s = "Type String";
return s;
}
else
{
List < string > l = new List<string> { "Type", "List" };
return l;
}
}
私有静态对象duo(字符串请求)
{
如果(请求=“Y”)
{
string s=“Type string”;
返回s;
}
其他的
{
Listl=新列表{“Type”,“List”};
返回l;
}
}
然后使用它:
List<string> res = (List<string>)duo("H");
List res=(List)duo(“H”);
最好开始研究如何使用ConvertTo
方法,或者将类型更改为Int并将十进制作为输入参数传递。。您需要返回阅读C#Basics
看起来是重复的,但它确实使用输入参数为其添加了旋转:尝试使用泛型方法为检测到的每个字符串类型返回T和Func。