J'ai utilisé des Splits dans le passé, mais celui-ci est un peu différent pour une raison quelconque, et je ne sais pas pourquoi ...

Code:

string responceuptime = scripting.ReadUntilPrompt();
string[] suptime = responceuptime.Split('s');
UpTime.Text = suptime;

Erreur:

impossible de convertir implicitement la chaîne de type [] en chaîne

c#
-2
dwb 28 nov. 2017 à 00:33

3 réponses

Meilleure réponse

Votre variable suptime est un string[] - un tableau de chaînes. Bien que je ne sache pas ce qu'est Uptime.Text, je suppose qu'il recherche une seule chaîne, et c'est pourquoi vous obtenez l'erreur de compilation que vous êtes.

Si vous souhaitez extraire la première chaîne du tableau, vous pouvez la définir comme suit:

UpTime.Text = suptime[0];
1
scwagner 27 nov. 2017 à 21:36

La sortie d'un appel à String.Split est un tableau de chaînes (String[]). Ce que fait votre code, ici, essaie d'attribuer un String[] à une variable String, donc l'application lève une exception.

Par conséquent, vous devez identifier, dans votre tableau, la valeur que vous recherchez et choisir l'index qui pointe vers elle (de 0 à suptime.Length - 1). Par exemple:

UpTime.Text = suptime[0]; // first value of the array
UpTime.Text = suptime[2]; // third value of the array
UpTime.Text = suptime[suptime.Length - 1]; // last value of the array

Si le résultat de votre scission est:

{"A" "Z" "11:57"}

Et vous voulez que votre UpTime.Text soit rempli avec quelque chose qui ressemble à une valeur de temps, il est assez évident que la valeur que vous devez choisir est la troisième.

1
Tommaso Belluzzo 27 nov. 2017 à 21:44

C'est une chose très basique et il est très facile de comprendre à partir du message d'erreur ce qui ne va pas réellement.

La ligne suivante est d'ailleurs le coupable ici:

UpTime.Text = suptime;

Comme suptime est de type string[] qui est tableau tandis que Text la propriété est de type String. Lors de l'attribution de références vers et depuis le type doit être le même, sinon nous verrons ce message d'erreur auquel vous venez de faire face.

D'après les lignes de code ci-dessus, il n'est pas clair que ce que vous essayez d'accomplir ici, mais vous devez attribuer un seul objet String à Text, vous ne pouvez pas attribuer un tableau ou une collection à un seul String objet.

J'espère que cela aide.

3
Ehsan Sajjad 27 nov. 2017 à 21:37
47520162