作者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/m.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