[英]How do I replace an item in List(Of String) in VB.NET?
我的一個項目存在問題。 在其中,我面臨索引問題的障礙。 我有一個以這種方式實例化的列表:
Public answers As List(Of String) = New List(Of String)
此代碼將項目添加到此列表中:
Dim correctanswer As String = "" 'except the user changes the value with the GUI
frmMain.answers.Add(correctanswer)
(順便說一下,我只是將相關部分包含在項目的怪物中,所以如果需要,我會根據請求發布更多代碼。)
這段代碼工作正常; 但是,我試圖允許用戶隨意修改每個列表項。 我嘗試通過以下方法執行此操作:
frmMain.answers.ElementAt(i) = correctanswer '(where 'i' is the index in question)
並且編譯器不喜歡這樣。 它在向我大喊大叫。
表達式不是值,因此不能成為賦值的目標。
現在,在我嘗試替換類似列表中的項目之前,我遇到過這個問題; 但是,這些項目是我自己的自定義類。 這只是一個字符串列表。 我也嘗試了另一種方法:
frmMain.RemoveAt(i)
frmMain.Insert(i, correctanswer)
問題是,列表的順序混淆了。 索引會四處移動,最終會造成混亂,而不是按照我的意願行事。
有人可以幫我一把嗎?
frmMain.answers(i) = correctanswer
這是一個小例子:
Dim answers As List(Of String) = New List(Of String)
answers.Add("Answer A")
answers.Add("Answer B")
answers.Add("Answer C")
Dim correctanswer As String = ""
answers(1) = correctanswer
For Each str As String In answers
Console.WriteLine(str)
Next
這應該打印:
答案A.
答案C.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.