gpt4 book ai didi

vb.net - 将文本框的输入转换为另一个文本框的输出

转载 作者:行者123 更新时间:2023-12-03 09:05:25 26 4
gpt4 key购买 nike

我是VB的新手,已经学习了大约三个月。我想输入一个文本框,例如。在第二个文本框中(带逗号)将“1234”转换为“1、2、3、4”。没有按钮,只有两个文本框。这是我一直在尝试的代码,它不起作用。我收到错误消息:

Object reference not set to an instance of an object



如果我能得到一个很好的简单解释,那么任何 super 复杂的事物都会震撼我,使我更加难以学习。大家都很棒,谢谢,我已经准备好学习。
Dim boxOne = txtNumber.Text.Split(" "c)
Private Sub TxtNumber_TextChanged(sender As Object, e As EventArgs) Handles txtNumber.TextChanged
For Each i As Integer In boxOne
If txtNumber.Text = "1" Then
lblMessage.Text = "one"
End If
If txtNumber.Text = "2" Then
lblMessage.Text = "two"
End If
If txtNumber.Text = "3" Then
lblMessage.Text = "three"
End If
If txtNumber.Text = "4" Then
lblMessage.Text = "four"
End If
If txtNumber.Text = "5" Then
lblMessage.Text = "five"
End If
If txtNumber.Text = "6" Then
lblMessage.Text = "six"
End If
If txtNumber.Text = "7" Then
lblMessage.Text = "seven"
End If
If txtNumber.Text = "8" Then
lblMessage.Text = "eight"
End If
If txtNumber.Text = "9" Then
lblMessage.Text = "nine"
End If
If txtNumber.Text = "10" Then
lblMessage.Text = "ten"
End If
Next
lblMessage.Text = boxOne
End Sub

最佳答案

我建议创建一个映射器,一个可以将一个值映射/转换为另一个值的项目的集合。
Dictionary可以很方便地完成此任务:给定Key,它返回关联的Value:

Private valueConverter As Dictionary(Of String, String) = New Dictionary(Of String, String) From {
{"0", "Zero"}, {"1", "One"}, {"2", "Two"}, {"3", "Three"}, {"4", "Four"},
{"5", "Five"}, {"6", "Six"}, {"7", "Seven"}, {"8", "Eight"}, {"9", "Nine"}}

字符串是Chars的集合:要解析它,您只需要循环该集合。
如果您需要直接使用字符集,则可以使用 String.ToCharArray()方法(例如 Dim charCollection = [TextBox].Text.ToCharArray())。

检查当前字符是否代表数字( Char.IsNumber(char)),并映射是否:
Imports System.Text

Dim sb As New StringBuilder()
For Each part As Char In txtNumber.Text
If Not Char.IsNumber(part) Then Continue For
sb.Append(valueConverter(part) & ", ")
Next

lblMessage.Text = sb.ToString().TrimEnd({","c, " "c})

当我们需要对字符串进行分类时,通常使用 StringBuilder类。由于字符串是不可变的,因此,每次将字符串添加到现有字符串时,实际上每次都会生成一个新字符串,需要对其进行垃圾回收。
因此,使用StringBuilder,代码可以更好地执行

关于vb.net - 将文本框的输入转换为另一个文本框的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59020481/

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