特定の位置に特定の値を含むコンマ区切りの文字列をとり、その値をオブジェクトのプロパティに割り当てる次のコードを構造化するより洗練された方法はありますか?区切られた文字列をオブジェクトに解析するこのコードブロックを記述するためのよりクリーンな方法はありますか?
// split comma delimited items into a string array
Dim items As String() = myList.Split(CChar(","))
// Assign my Person object's properties
// Name
If items.Length > 0 Then
Person.FullName = items(ItemIndex.FullName)
End If
// Address1
If items.Length > 1 Then
Person.Address1 = items(ItemIndex.Address1)
End If
// Address2
If payload.Length > 2 Then
Person.Address2 = items(ItemIndex.Address2)
End If
EDIT:私はあまりにも、C#の例に開いています。
+1これは少しハックですが、私はそれを行うための最もクリーンな方法だと思います。配列に十分な要素があることを確認することによって、すべての条件を避けてください。 –
これはまあまあですが、余分なデータを追加してコーナーケースを削除するのはかなり一般的な手法です。もう1つの例は、行列があり、その隣接セルに基づいて各セルに変換を適用する必要がある場合です。サイドとコーナーを処理するためのコードを書くのではなく、関数のアイデンティティ値で行列を囲むだけで、内部のセルを繰り返し処理するだけです。 – Eclipse