2016-07-07 9 views
0

wie in einer int-Variable mehrere String-Wert speichernString mehr String-Wert in einer int-Variable

string OutReader = ConfigurationManager.AppSettings["OutReader"].ToString(); 
int outrdr = Convert.ToInt32(OutReader); 

Der Wert AppSettings["OutReader"] ist: "(1,2)"

+0

Welchen Wert sollte 'outrdr' haben? – npinti

+0

Was ist der aktuelle Wert in 'AppSettings [" OutReader "]' –

+1

Was ist die erwartete Ausgabe? –

Antwort

1

Wenn AppSettings["OutReader"] zur Zeit in eine Zeichenfolge wie hat: " (1,2)“ dann können Sie tun:

var sections = ConfigurationManager.AppSettings["OutReader"].Replace("(",string.Empty) 
         .Replace(")",string.Empty) 
         .Split(','); 
if(sections.Length > 0) 
{ 
    int outrdr = Convert.ToInt32(sections[0]); 
} 

Dies kann immer noch eine Ausnahme in dem Fall werfen, dass section[0] kann nicht in eine int geparst werden, also verwenden Sie stattdessen .TryParse - wollte nur so nah wie möglich an der Frage bleiben

+0

@Jay - bitte nochmal erklären, was momentan nicht funktioniert. Und wenn Sie dies tun, bearbeiten Sie Ihre ursprüngliche Frage (ohne einen Kommentar hinzuzufügen) mit dem aktuellen Code und dem Fehler, den Sie erhalten. –

+0

@Jay - das Ergebnis ist, dass 'outrdr' den Wert' 1' enthält (beginnend mit '(1,2)'). Es ist nicht möglich, die '2' auch in dieser einzelnen Ganzzahl zu speichern, aber Sie können' sections [1] 'verwenden, um auf diesen mit ähnlichem Code zuzugreifen. –

+0

Zeichenfolge InReader = ConfigurationManager.AppSettings ["InReader"]. ToString(); Zeichenfolge OutReader = ConfigurationManager.AppSettings ["OutReader"]. ToString(); direkt funktioniert es –

Verwandte Themen