vb.net - 我无法理解将参数传递给函数
问题描述
我真的很难理解将参数传递给函数。
我想使用函数,这样我就不必重复我理解它们的用途的代码块。该函数会将某些内容返回给调用它的内容。
例子:
我编写了这个函数,它从注册表中获取 Name 的值并将其返回给变量 s
Public Function DecodingModes(s As String)
s = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\Ian\MyApp\", "Name", Nothing)
Return s
End Function
在按钮单击事件中,我有以下内容。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim MyName As String
MyName = CType(DecodingModes("what goes in here"), String)
MsgBox(MyName)
End Sub
我对它的作用是这样的......
- 创建一个名为 MyName 的变量作为字符串
- 然后调用该函数,并将返回的内容分配给 MyName 变量
- 然后显示一个 MessageBox,显示函数返回的值
我不明白的是
MyName = CType(DecodingModes("what goes in here"), String)
为什么我在 (" ") 中输入的内容并不重要
我在网上看过关于函数和传递参数的教程,但它们似乎都在处理数字而不是文本。
谁能帮忙
伊恩
解决方案
对于正确的编程方法,您必须将整个替换Function
为:
Public Function DecodingModes()
Return My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\Ian\MyApp\", "Name", Nothing)
End Function
不需要“s”作为参数,因为您将通过每次调用DecodingModes
函数来重新创建它
一个函数通常用于详细说明某些内容,然后将结果返回给您。如果您有一个需要详细说明的变量,或者其他详细说明(在您的函数内部)需要它们作为详细说明的一部分,您可以将其作为参数传递。作为正确的编程技术,您需要记住的另一件事是您应该指定返回类型(例如,字符串、整数或其他),否则您的函数返回类型始终是 Object 类型,这意味着您需要在每次调用时转换类型。
推荐阅读
- reactjs - 检查 Flatlist 中的可查看项目,如果正在呈现的项目 id 与可查看项目 id 匹配,则传递一个道具
- swiftui - 为什么 LazyHStack 占据全高但 HStack 在 SwiftUI 中没有?
- laravel - Laravel 使用日期范围列过滤日期范围
- scala - 如何在 spark startsWith() 函数中提供多个条件?
- php - 我想更改输入背景的 css 样式,取决于 mysql php (form) request IF/ELSE
- java - 如何在不“退出”导致打印输出的情况下停止执行此循环?
- ios - 全新的 React Native CLI (2.0.1) 项目在构建 (iOS) 时失败
- arrays - 验证数组中是否存在元素的函数
- java - Parcel android.os.Parcel@72a6e36:在偏移量 500 处解组未知类型代码 2131365270
- c++ - 为 ESP32 / ESP8266 EEPROM 使用闪存向量