gpt4 book ai didi

c# - C#中方法的可变返回类型

转载 作者:可可西里 更新时间:2023-11-01 08:55:18 24 4
gpt4 key购买 nike

我想给一个方法一个参数,我希望我的方法通过查看参数返回数据。数据可以是 bool 值、字符串、整数等类型。如何从方法返回变量类型?我不想返回一个对象类型,然后将其转换为另一种类型。例如:

BlaBla VariableReturnExampleMethod(int a)
{
if (a == 1)
return "Demo";
else if (a == 2)
return 2;
else if (a == 3)
return True;
else
return null;
}

我想要它的原因是我有一个方法可以从数据库中读取一行的选定列。列的类型不一样,但我必须返回每一列的信息。

最佳答案

How can i return a variable type from a method? I don't want to return an object type and then cast it to another type.

这基本上就是您必须做的。或者,如果您使用的是 C# 4,则可以使返回类型为 dynamic,这将允许隐式转换:

dynamic VariableReturnExampleMethod(int a)
{
// Body as per question
}

...

// Fine...
int x = VariableReturnExampleMethod(2);

// This will throw an exception at execution time
int y = VariableReturnExampleMethod(1);

从根本上说,您指定类型是为了让编译器知道期望什么。如果类型仅在执行 时已知,那它怎么能工作呢? dynamic 版本工作的原因是它基本上告诉编译器将其正常工作推迟到 unt 执行时间 - 所以你失去了正常的安全性,这会让第二个例子失败编译时间。

关于c# - C#中方法的可变返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10499791/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com