2017-07-13 7 views
0

変数ListofBloodTypeはループ内で最初の値を4回取得する理由がわからない正しい値を返しています(カウント4も正しいですが最初の値を4回印刷するのは正しくありません)それぞれが同じものを印刷しています

Dim tempTreatmentForBloodType As List(Of BloodType) = New List(Of BloodType)() 
Dim ListofBloodType = getPatientBloodType(i.PatientID) 

For Each i As PatientBloodType In ListofBloodType 
    tempTreatmentForBloodType.Add(([Enum].Parse(GetType(BloodType), getReference().Description))) 

Next 
+3

ループ変数 'PatientBloodType'を使用していないためですか? – GSerg

+4

ここに情報が不十分で答えを出すことができません。私たちは 'getPatientBloodType()'が何をするのか分からず、 'i'や' PatientID'の値を知らないので、 'getReference()'が何をするのか分かりません。あなたは 'ListOfBloodType'をループしますが(実際にあなたが書いていると仮定して)、実際には値を使用していないようです。代わりに、私が指摘したように、何も知らないgetReferenceで何かを行います。 – ADyson

+0

GSerg、そうです、私は使っていません。私はgerReferenceパートにi.PatientIDを追加する必要があります!多くの多くのありがとう:) – Sam

答えて

4

問題は、GSergが指摘したものとまったく同じでした。私はループ変数を使用していませんでした。私は特定の患者のためのデータを取得するパラメータを持つ新しいgetReferenceメソッドを作成しました。私のために働いたコードはここにあります!私はそれが私のような新しいVBプログラマーに役立つことを願っています!

Dim tempTreatmentForBloodType As List(Of BloodType) = New List(Of BloodType)() 
Dim ListofBloodType = getPatientBloodType(i.PatientID) 

For Each i As PatientBloodType In ListofBloodType 
tempTreatmentForBloodType.Add(([Enum].Parse(GetType(BloodType), 
getReference(i.PatientID).Description))) 

Next 

多くの上記の有益なコメントのおかげで!

+0

コードレビュー: "i"の名前を変更する必要があります、For Eachを実行するときはインデックスではありません。ループの前に "i"を使用するのも奇妙なことがわかります。 –

関連する問題