簡體   English   中英

如何替換VB.NET中List(Of String)中的項?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM