2016-04-04 7 views
0

ein WörterbuchWie aus einem Wörterbuch Wert eines Objekts Mitglied erhalten

Dictionary<int, UserSession> UserSessionLookupTable 

class UserSession 
{ 
    public int SessionId { get; set; } 
    public string UserName { get; set; } 
    public Guid SessionGuid { get; set; } 
    public DateTime LoginTime { get; set; } 
} 

haben Wie kann ich den Wert sessionGuid mit key=1 von Wörterbuch in C#

+1

das sein wird 'UserSessionLookupTable [1]' –

+0

Ich brauche den Wert von sessionGuid nur –

+1

Nun, 'UserSessionLookupTable [1] .SessionGuid'? – soon

Antwort

5

Like this retrive:

var guid = UserSessionLookupTable[1].SessionGuid; 

Beachten Sie jedoch, dass, wenn der Schlüssel nicht im Wörterbuch vorhanden ist, ein KeyNotFoundException ausgelöst werden kann. Um dies zu vermeiden Sie tun können:

public Guid GetSessionGuid(int key) 
{ 
    UserSession session; 
    return UserSessionLookupTable.TryGetValue(key, out session) ? session.SessionGuid : null; 
} 
+1

+1, aber hinzufügen zu beantworten, dass der Indexer Ausnahmen auslösen kann: _KeyNotFoundException_ und _ArgumentNullException_ – Zlatomir

+4

Vielleicht ist 'TryGet' mehr idiomatische - https://msdn.microsoft.com/en-us/library/bb347013(v=vs.110) .aspx –

+0

Es sollte 'UserSessionLookupTable [Schlüssel] .SessionGuid' sein –

Verwandte Themen