2015-05-08 4 views
1

Я хочу отправить сообщение некоторому пользователю с идентификатором, хранящимся в string[] words. Я попытался вывести его на lable_name.Text. Идентификатор отображается правильно, но он выглядит как string user_id в следующем методе не видит его правильно. Я попытался изменить lable_name.Text = words[2] для lable_name.Text = "65896237" и все было хорошо.Получение неправильного значения после Split

Я только что посмотрел в Debuger - и он говорит, что lable_name.Text="65896237\r\n" это причина? и как я могу получить четкую ценность?

private void listBox1_DoubleClick(object sender, EventArgs e) 
     { 
      int count = listBox1.Items.Count -1; 
      for (int counter = count; counter >= 0; counter--) 
      { 
       if (listBox1.GetSelected(counter)) 
       { 
        string[] words= listBox1.Items[counter].ToString().Split(' '); 
        lable_name.Text = words[2]; 
       } 
      } 
     } 

     private void send_Click(object sender, EventArgs e) 
     { 
      if (radioMessage.Checked==true) 
      { 
      string user_id = lable_name.Text; 
      string message = textBox1.Text; 
      string url = "https://api.vk.com/method/messages.send?user_id="+user_id+"&message="+message+"&v=5.31&access_token=..."; 
      WebClient client = new WebClient(); 
      string json = client.DownloadString(url); 
      JavaScriptSerializer json_serializer = new JavaScriptSerializer(); 
      RootObject response = (RootObject)json_serializer.Deserialize(json, typeof(RootObject)); 
      MessageBox.Show("This is Message"); 
      } 
      else 
      {... 
+2

'слов [2] .trim() '? –

+0

Простейшим решением может быть просто 'lable_name.Text = words [2] .trim()', но вы можете посмотреть, откуда вы получаете эту новую строку. –

ответ

2

Я просто смотрел в Debuger - и он говорит, что lable_name.Text = "65896237 \ г \ п" это причина? и как я могу получить четкую ценность?

Вы можете trim white space такие как пробел, табуляция, возврат каретки и перевод строки из переменной, как

string trimmed = lable_name.Text.Trim(); 
1

вы можете удалить /n и /r до или после раскола

int count = listBox1.Items.Count -1; 
for (int counter = count; counter >= 0; counter--) 
{ 
    if (listBox1.GetSelected(counter)) 
    { 
     string[] words= listBox1.Items[counter].ToString().Replace("\r\n", string.Empty).Split(' '); 
     lable_name.Text = words[2]; 
    } 
} 
Смежные вопросы