.net - 在 Visual Basic 中创建一个通过引用返回的函数
问题描述
所以,假设,如果我要尝试在两个数字之间编写一种“GetMax”函数,并且我想通过引用返回两个数字中的最大值,那么我可以直接从调用功能。
所以在 CPP 中它可能看起来像这样:
int& GetMax(int& a, int& b)
{
if (a > b) {
return a;
}
else {
return b;
}
}
我可以像这样编辑它:
int main(void)
{
int a = 30;
int b = 20;
GetMax(a, b) = 10;
}
GetMax(a, b) = 10;
会改变 a 的值。
我可以在 Visual Basic 中做类似的事情吗?
Function GetMax(ByRef a As Integer, ByRef b As Integer) As Integer
If a > b Then
Return a
Else
Return b
End If
End Function
^ 但它不会返回一个值,而是返回一个引用,所以我可以像在 CPP 示例中那样处理函数。我并没有真正致力于学习视觉基础,所以我真的不知道我是否完全错过了一个可以让我做我想做的事情的关键概念。谢谢 !:)
解决方案
答案是否定的,因此您必须执行以下操作才能在您提供的示例中获得相同的结果:
Sub SetMax(ByRef a As Integer, ByRef b As Integer, value As Integer)
If a > b Then
a = value
Else
b = value
End If
End Sub
并致电:
SetMax(a, b, 10)
推荐阅读
- python - 使用 nltk word_tokenize 进行标记后重新加入原始句子
- android - 用于 android 开发的 IntelliJ IDEA 属性部分在哪里?
- java - SpringFox:枚举数组显示为字符串数组
- html - 在 HTML 中调整图像相对于彼此的大小
- azure-node-sdk - ms-rest-nodeauth (azure-sdk-for-js) :错误:凭据参数需要实现 signRequest 方法
- python - 使用迭代的 Kivy 下拉列表
- python - Matplotlib - 图形图例不适用于具有多个轴的多个子图
- c# - 如何在不丢失输入数据的情况下在两个表单之间来回移动
- keycloak - 在 keycloak 中设置两层角色模型
- flutter - 如何在 google_maps_flutter 中隐藏 3d 建筑物?