Gibt es eine elegantere Möglichkeit, den folgenden Code zu strukturieren, der eine durch Kommas getrennte Zeichenfolge mit bestimmten Werten an bestimmten Positionen verwendet und die Werte den Eigenschaften eines Objekts zuordnet?Gibt es eine sauberere Möglichkeit, diesen Codeblock zu schreiben, der eine Zeichenfolge mit Trennzeichen in ein Objekt zerlegt?
// 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: Ich bin zu C# Beispiele offen, auch.
+1 Dies ist ein bisschen wie ein Hack, aber ich denke, es ist der sauberste Weg, es zu tun. Vermeiden Sie alle Bedingungen, indem Sie sicherstellen, dass genügend Elemente im Array vorhanden sind. –
Es ist eine Art Hacky, aber das Entfernen von Corner-Cases durch Hinzufügen von zusätzlichen Daten ist eine ziemlich übliche Technik. Ein anderes Beispiel ist, wenn Sie eine Matrix haben und Sie eine Transformation auf jede Zelle basierend auf ihren Nachbarn anwenden müssen. Anstatt zusätzlichen Code zu schreiben, um die Seiten und Ecken zu behandeln, umgeben Sie einfach die Matrix mit dem Identitätswert für die Funktion und iterieren nur über die inneren Zellen. – Eclipse