為什么 dlginfo.txtInfo.text 下面的“ ”在 Visual Basic 中總是顯示語法錯誤?我該如何解決?
dlgInfo.Show()
dlgInfo.txtInfo.Text = " Nama : " txtnama.Text vbCrLf
" Tanggal Lahir : " timTanggalLahir.Text vbCrLf " Jenis Kelamin : " jenis_kelamin vbCrLf " Agama : " boAgama.Text vbCrLf " Pekerjaan : " lstPekerjaan.Text vbCrLf " Hobi : " hobi vbCrLf " Kendaraan : " lstKendaraan.Text vbCrLf " Motto Hidup : " txtMottoHidup.Text
uj5u.com熱心網友回復:
在問題的三行中(包括dlgInfo.Show()),問題在第二行的結尾和第三行的開頭之間。把它們放在一起,你會得到這個:
vbCrLf " Tanggal Lahir : "
這兩個運算式之間沒有運算子。由于這將是無效的語法,編譯器將第二行解釋為完整的陳述句,然后開始將第三行作為新陳述句處理。
所以現在讓我們看看這個新宣告的前兩個術語:
" Tanggal Lahir : " timTanggalLahir.Text
這是一個有效的運算式,它從兩個較小的字串連接一個新字串。但是,它不能作為宣告的開場白。所以我們在 運算子處看到一個語法錯誤,因為它是無效的操作。這里我們需要賦值、函式呼叫或變數宣告;不是無處可去的加法或串聯。
為了修復它,我們可以在第二行的末尾添加另一個連接運算子:
dlgInfo.txtInfo.Text = " Nama : " txtnama.Text vbCrLf
這將讓 VB.Net 知道繼續處理下一行作為同一陳述句的一部分。
或者我們可以壓縮它以使用字串插值,因此它(幾乎)適合一行:
dlgInfo.txtInfo.Text = $" Nama : {txtnama.Text}{vbCrLf} Tanggal Lahir : {timTanggalLahir.Text}{vbCrLf} Jenis Kelamin : {jenis_kelamin}{vbCrLf} Agama : {boAgama.Text}{vbCrLf} Pekerjaan : {lstPekerjaan.Text}{vbCrLf} Hobi : {hobi}{vbCrLf} Kendaraan : {lstKendaraan.Text}{vbCrLf} Motto Hidup : {txtMottoHidup.Text}"
但這仍然有點長。我可能會做的是使用內插的多行字串文字來自然地分隔換行符上的代碼,因此代碼更類似于目標字串:
dlgInfo.txtInfo.Text =
$" Nama : {txtnama.Text}
Tanggal Lahir : {timTanggalLahir.Text}
Jenis Kelamin : {jenis_kelamin}
Agama : {boAgama.Text}
Pekerjaan : {lstPekerjaan.Text}
Hobi : {hobi}
Kendaraan : {lstKendaraan.Text}
Motto Hidup : {txtMottoHidup.Text}"
uj5u.com熱心網友回復:
問題是沒有任何跡象表明第三行是問題中顯示的第二行的一部分 - 在第二行&的末尾沒有二元運算子,例如。
VB.NET 中首選的字串連接運算子是&,它的作用比 運算元之間的運算子要多一些。
但是,在這種情況下,如果它使用StringBuilder創建字串會使代碼更易于閱讀和維護,特別是因為它具有 AppendLine 方法,這意味著您不需要繼續附加 VbCrLf,如下所示:
Imports System.Text
`....
Dim sb As New StringBuilder
sb.AppendLine($" Nama : {txtnama.Text}")
sb.AppendLine($" Tanggal Lahir : {timTanggalLahir.Text}")
sb.AppendLine($" Jenis Kelamin : {jenis_kelamin}")
sb.AppendLine($" Agama : {boAgama.Text}")
sb.AppendLine($" Pekerjaan : {lstPekerjaan.Text}")
sb.AppendLine($" Hobi : {hobi}")
sb.AppendLine($" Kendaraan : {lstKendaraan.Text}")
sb.Append($" Motto Hidup : {txtMottoHidup.Text}")
dlgInfo.txtInfo.Text = sb.ToString()
您可以看到將來修改會容易得多;撰寫易于維護的代碼很重要。讓編譯器對代碼進行任何優化,這就是它的作業。
如果您使用的是在引入內插字串之前的 Visual Studio 版本(VB14,在 VS2015 中):
Dim sb As New StringBuilder
sb.AppendLine(" Nama : " & txtnama.Text)
sb.AppendLine(" Tanggal Lahir : " & timTanggalLahir.Text)
sb.AppendLine(" Jenis Kelamin : " & jenis_kelamin)
sb.AppendLine(" Agama : " & boAgama.Text)
sb.AppendLine(" Pekerjaan " & lstPekerjaan.Text)
sb.AppendLine(" Hobi : " & hobi)
sb.AppendLine(" Kendaraan " & lstKendaraan.Text)
sb.Append(" Motto Hidup : " & txtMottoHidup.Text)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/340701.html
上一篇:將資訊從AJAX傳遞到控制器類
