2016-08-17 7 views
1

Ich habe eine Zeichenfolge "201607" und ich muss es auf 2 separate Typen aufteilen. 2016 in int und 07 in Byte. Ich habe String-Split-Funktionen gesehen, die alle Delimeters verwenden, aber das wird hier nicht funktionieren. Gibt es einen einfacheren Weg dies zu tun oder so muss ich es in Zeichen teilen und dann in C# rekonstruieren?Wie teile ich einen String in zwei verschiedene Typen auf?

+3

Also .. 'Substring()', 'int.Parse() 'und' byte.Parse() '? – Blorgbeard

Antwort

1

Versuchen this Example

string input="201607"; 
int integerPart=0;  
if(int.TryParse(input.Substring(0,4),out integerPart)) 
{ 
    Console.WriteLine("Integer value is {0}",integerPart); 
} 
else 
{ 
    Console.WriteLine("Conversion Failed"); 
} 
byte bytePart = byte.Parse(input.Substring(4)); 
Console.WriteLine("Byte Part is {0}",bytePart); 
+0

Es funktioniert, Danke! – Scar

+0

@Scar: Freut mich, das von dir zu hören. Gerne, um dir zu helfen –

2

es Versuchen Sie auch:

string input="201607"; 
int IntPart=Convert.ToInt32(input.Substring(0,4)); 
byte BytePart=Convert.ToByte(input.Substring(4)); 
0

Vielleicht versuchen zu:

var input = "201607"; 
var matches = Regex.Match(input, "(\\d{4})(\\d{2})"); 
var integerPart = int.Parse(matches.Groups[1].Captures[0].Value); 
var bytePart = byte.Parse(matches.Groups[2].Captures[0].Value); 
Verwandte Themen