2013-08-29 2 views
-3

Почему свойство длины строки не работает в C# при разработке приложения для Windows Phone. вот мой код;wp - C#; свойство length length не работает?

private void showName_Click(object sender, EventArgs e) 
    { 
     string name = "UserName"; 
     MessageBox.Show(name.Length); 
    } 

Ошибка

'System.Windows.Controls.Page' does not contain a definition for 'Length' 
+0

@KevinDeVoe Вы серьезно? –

+0

@KevinDeVoe это свойство не вызов функции. – Mayank

+0

Вы можете получить полученную ошибку, если длина не указана правильно или находится в неправильном корпусе. – sealz

ответ

0

Вам нужно отправить строку в MessageBox. Length выводит целое число

Преобразование name.Length. Обе эти идеи будут работать.

MessageBox.Show(Convert.ToString(str.Length)); 

или

MessageBox.Show(str.Length.ToString()); 

EDIT - В ответ на OPS комментарий.
Вы также можете получить ошибку, которую получите, если у вас есть .Length неправильно написано неправильно.

MessageBox.Show(str.length); покажет вашу ошибку. (Капитолизировать «l»)

+0

Интересно, почему вы не можете просто называть 'str.Length.ToString()' ???? – Mayank

+0

@Mayank. Вы, вероятно, можете. – sealz

+0

Ошибка: '' object 'не содержит определения для' Length ', и не может быть найден метод расширения' Length ', принимающий первый аргумент типа' object '(вам не хватает директивы using или ссылки на сборку?) ' –

0

Его нужно преобразовать в строку!

MessageBox.Show(name.Length.ToString()); 
+0

Ошибка: '' object 'не содержит определения для' Length ', и не может быть найден метод расширения' Length ', принимающий первый аргумент типа' object '(вам не хватает директивы using или ссылки на сборку ?) ' –

+0

У вас есть объект с именем' name' в вашем классе? – Paddyd

+0

Переименуйте строку и попробуйте еще раз – Paddyd

0

Если вы читали MSDN page for MessageBOx Class, Вы можете прочитать параметр 'MessageBox.Show() является строкой.

И если вы читаете MSDNpage of the string.Length proprety, вы знаете, что это возвращает целое число.

Вы можете решить вашу проблему, если преобразовать целое число в строку с:

string myMessage = myString.Length.ToString(); // Convert my Integer to String. 

или

string myMessage = Convert.ToString(myString.Length); // Convert my Integer to String 

и Finaly:

MessageBox.Show(myMessage); // Show my string. 
Смежные вопросы