2016-04-19 21 views
-1

In der fllowing Linie Ich bin Listing "etwas":Trennen Sie einen Wert in zwei Variablen. C# .NET

var bbItems = _boardbookRepository.GetBoardBookItemsList(it.ItemID, AcUserProfile.Current.OrgUserId); 

Ich mag diese Liste trennen, indem der Wert it.ItemID und so, wenn it.ItemID> 0, dann wird in einem gespeichert werden Variable oder sonst wird es in anderer Variable gespeichert.

Wie kann ich einstellen, dass es wie die Linie unten ist?

it.ItemID > 0 ? "variable" : "variable" 
+0

"wird in einer Variablen gespeichert oder sonst wird sie in einer anderen Variablen gespeichert." Nicht klar. Mehr darüber ist eine Liste .. sind Sie sicher, dass es ein einzelnes Element enthalten wird? Oder Sie benötigen separate Variablen für jedes Element in der Liste;) – Tushar

+0

@TusharGupta Wahrscheinlich benötigt das OP eine Sammlung (wie Array, Liste oder Dictionary), um verschiedene Variablen zu speichern, die aber durch Indizierung zugänglich sind. Es ist die Indizierung, die durch die ternäre Operation entschieden werden kann. – Ian

Antwort

1

Der ternäre Operator Sie zeigen, für die Zuordnung zu einem einzigen Variable, ist es nicht für die Zuordnung zu verschiedenen Variablen.

Wenn Sie einen Wert auf verschiedene Variablen auf einer bestimmten Bedingung abhängig zuweisen möchten (in Ihrem Fall: it.ItemID > 0), müssen Sie wahrscheinlich die verschiedenen Variablen in einer Sammlung speichern (sagen wir, Array, List oder Dictionary) und dann erhalten die Sammlung der index/key nach Ihrem Zustand:

Beispiel mit List:

List<string> IDs = new List<string>() {string.Empty, string.Empty}; 
IDs[it.ItemID > 0 ? 0 : 1] = "variable"; 

Einem anderen Beispiel mit Array

string[] IDs = new string[2] {string.Empty, string.Empty}; 
IDs[it.ItemID > 0 ? 0 : 1] = "variable"; 
+2

Das war ruhig genug für mich. Vielen Dank! – George

+1

@GeorgiosDeliandreadis kein Problem! Manchmal kommt es zu starken Downvotings ohne entsprechende Erklärung. Aber aufmuntern! Codiere weiter! ;) – Ian

Verwandte Themen