Y a-t-il un moyen de convertir des matrices de chaîne sur des tableaux d'int afin que d'analyser une chaîne à un int en C #.
int a = int.Parse(â123â); int[] a = int.Parse(â123,456â.Split(â,â)); // this don't work.
7 Réponses :
Cette requête LINQ devrait le faire:
strArray.Select(s => int.Parse(s)).ToArray()
int[] a = Array.ConvertAll("123,456".Split(','), s => Int32.Parse(s)); Should do just fine. You could modify the lambda to use TryParse if you don't want exceptions.
Array.convertiLL code> nécessite définitivement moins de réaffectations que Linqy
toarray () code>. Notez que dans ce cas, vous n'avez même pas besoin de Lambda, vous pouvez passer
int32.parse code> comme deuxième paramètre de
ConvertiLL code>.
â123,456â.Split(â,â).Select( s => int.Parse(s) ).ToArray();
int[] a = "123,456".Split(â,â).Select(s => int.Parse(s)).ToArray();
Utilisez ceci:
"123,456".Split(',').Select(s => int.Parse(s)).ToArray()
Je pense, comme ça:
string[] sArr = { "1", "2", "3", "4" }; int[] res = sArr.Select(s => int.Parse(s)).ToArray();
Voici la méthode d'extension. Ceci est fait sur la chaîne, car vous ne pouvez pas ajouter de fonction statique à une chaîne.
string testValue = "123, 456,789"; int[] testArray = testValue.ToIntArray();
Très génial, ce que je cherchais. Merci!
Linq devrait vous permettre de le faire en une seule ligne. Ou des expressions Lambda.
Avez-vous essayé de rechercher ce site avant de demander?