Ich habe eine Liste, die anonymer Typ ist und ich habe tagId, isTagSelected & tagName
drin. Was ich will, ist wollen vierte Eigenschaft hinzufügen, basierend auf einer BedingungWie Wert in anonymer Liste in c aktualisieren #
Code:
var tagDetails = tagIdList.Select((x, i) => new { tagId = x, isTagSelected = tagSelectionList[i], tagName = tagList[i] }).ToList();
Ergebnis:
{tagId = 1, isTagSelected = true, tagName = "a"}
{tagId = 2, isTagSelected = false, tagName = "b"}
{tagId = 3, isTagSelected = true, tagName = "c"}
Was ich will, ist, wenn tagName
ist a
fügen Sie dann Size = "S"
sonst string.empty
oder null
. Wie kann ich das erreichen? Ich versuchte folgenden Ansatz, der ist, fügen Sie Größe in allen von ihnen und dann von unerwünschten Ort entfernen, aber es funktioniert nicht.
Code:
var tagDetails = tagIdList.Select((x, i) => new { tagId = x, isTagSelected = tagSelectionList[i], tagName = tagList[i], itemSize = itemSize }).ToList();
Ergebnis:
{tagId = 1, isTagSelected = true, tagName = "a", Size = "S"}
{tagId = 2, isTagSelected = false, tagName = "b", Size = "S"}
{tagId = 3, isTagSelected = true, tagName = "c", Size = "S"}
Ich versuchte foreach
Schleife, aber ich kann nur Eigenschaft lesen ändern. Gibt es trotzdem, dass ich Size
von "b" & "c" entfernen kann?
Erwartetes Ergebnis:
{tagId = 1, isTagSelected = true, tagName = "a", Size = "S"}
{tagId = 2, isTagSelected = false, tagName = "b", Size = "" or null}
{tagId = 3, isTagSelected = true, tagName = "c", Size = "" or null}
Alle Eigenschaften anonymer Typen sind schreibgeschützt. Sie müssen einen Weg finden, die Instanzen mit dem bereits korrekten Wert zu erzeugen. Dies kann eine zweite Abfrage bedeuten, bei der Sie eine neue Gruppe von Werten erstellen. –