作者ltytw (拉米亚妹妹)
看板Visual_Basic
标题[.NET] 请教阵列问题
时间Thu Oct 15 15:25:51 2020
请输入专案类型(网站专案或者应用程式专案):密码产生器(随机大小写)
目前我卡在阵列的内容好像不如我预期会更新的问题
程式码如下
-----------------------------------------
Private Sub Button_GeneratePasswordSection1_Click(sender As Object, e As
EventArgs) Handles Button_GeneratePasswordSection1.Click
Dim englishWordString As String = TextBox_PasswordSection1.Text
Dim englishWordCharArray() As Char = englishWordString.ToCharArray
Randomize()
For Each element In englishWordCharArray
Dim randomValue As Integer = CInt(Math.Floor((100 - 1 + 1) *
Rnd())) + 1
If randomValue >= 50 Then
element = UCase(element)
Else
element = LCase(element)
End If
Debug.WriteLine("产生乱数:" & randomValue & " 将输入的英文单字随机
转换大小写为:" & element)
Next
Debug.WriteLine("将阵列的内容显示成一行:" & englishWordCharArray)
' englishWordString = englishWordCharArray
' TextBox_PasswordSection1.Text = englishWordString
End Sub
---------------------------------------------------------
输入小写windows
结果输出的讯息却还是小写
-----------------------------------------------------
产生乱数:48 将输入的字元随机转换大小写为:w
产生乱数:7 将输入的字元随机转换大小写为:i
产生乱数:47 将输入的字元随机转换大小写为:n
产生乱数:24 将输入的字元随机转换大小写为:d
产生乱数:70 将输入的字元随机转换大小写为:O
产生乱数:95 将输入的字元随机转换大小写为:W
产生乱数:49 将输入的字元随机转换大小写为:s
windows
---------------------------------------------------
请问这是UCase LCase的大小写转换只是显示上的转换
不是实际上的转换
还是我没把新的字元存回阵列?
--
我的电脑... 代号:拉米亚 代号:赛莲
CPU:AMD Phenom II X4 965 CPU:AMD Athlon II X4 640
RAM:金士顿 DDR3-1866 4GB*4 RAM:金士顿 DDR3-1866 4GB*2
MB:ASUS M5A97 R2.0 MB:ASUS M5A78L-M/USB3
GPU:撼讯 AXRX 570 4GBD5-3DHD/OC GPU:MSI RX 550 AERO ITX 2G OC
SSD:ANACOMDA N2 240GB SSD:ANACOMDA A1S 120GB
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.168.123.88 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Visual_Basic/M.1602746757.A.B37.html
※ 编辑: ltytw (1.168.123.88 台湾), 10/15/2020 18:59:51
1F:→ sosokill: VB For Each 好像是Call by Value 10/23 19:20
2F:→ jerick: VB的字串处理是传值,而不是传址,所以这样是改不到阵列元 10/23 20:06
3F:→ jerick: 素的。 10/23 20:06