2016-08-05 4 views
-6

lesen? Aus einem Excel-Arbeitsblatt lesen, das mit einer Liste von String-spezifischen Zahlen kopiert und eingefügt wurde, warum wird C# nicht konvertiert ein char/string 0 zu einer Null oder ein char/string 1 zu einem int 1 nachdem die string durch '-' in ein Array aufgeteilt wurde?Warum kann ich "0-2-6-1" nach dem Teilen nicht nach '-'

Es scheint, als gäbe es ein Zeichenproblem, der Unterschied zwischen einer 1 und einer 1 ohne Zeile unten?

Dank

+8

Teilen Sie den Code und das spezifische unerwünschte & ideale Verhalten mit, damit wir Ihnen bei der Fehlersuche helfen können. – CollinD

+1

"eine 1 und eine 1 ohne Zeile am unteren Rand" - klingt wie ein 'l' hineingekrochen (wie ich 'Hallo') – pm100

+0

[Hier ist ein hoffentlich funktionierendes .NET Fiddle Beispiel] (https://dotnetfiddle.net/9cKNk6). –

Antwort

2

Das Ergebnis einen String spliting ist ein Array von String, der für den Fall, sie numerisch sind Sie weiter in integer analysieren sollte.

var str = "0-2-6-1"; 
var stringValues = str.Split('-'); // string[] values 

var intValues = Array.ConvertAll(stringValues, s => int.Parse(s)); // int[] values 
+1

Es wird kein Lambda benötigt, "int.Parse" ist als zweiter Parameter für sich perfekt verwendbar. –

+0

Dies ist der Code, den ich verwendet habe, aber es oft versäumt, eine "1" oder eine "0" mit entweder int.Parse oder int.TryParse ... seltsam zu konvertieren. "0-2-6-1" wird direkt vom Blatt kopiert und eingefügt, damit ich weiß, dass es kein 'O' oder 'I' ist ... danke – MPatriot

Verwandte Themen