#c# #reference #monodevelop #isnumeric
#c# #ссылка #monodevelop #isnumeric
Вопрос:
Что я пытаюсь сделать, так это проверить, является ли ввод с плавающей запятой числом или нет. Меня просят сделать это с помощью метода IsNumeric(). Проблема в том, что я использую MonoDevelop и не могу понять, почему это не работает. Похоже, я добавил ссылку на сборку, которая мне нужна.
Итак, с нуля. Как мне это сделать? Нужно ли что-то добавлять в ссылку на сборку VB? И, если это все еще будет работать, когда я попытаюсь работать в школе на VisualStudio?
static void getBookInfo(Book book)
{
Console.Write("Enter Book Title: ");
book.Title = Console.ReadLine();
Console.Write("Enter Author's First Name: ");
book.AuthorFirstName = Console.ReadLine();
Console.Write("Enter Author's Last Name: ");
book.AuthorLastName = Console.ReadLine();
Console.Write("Enter Book Price: $");
book.Price = float.Parse(Console.ReadLine());
}
Файл ссылки с VB выглядит следующим образом:
public class VBCodeProvider : CodeDomProvider
{
// Constructors
public VBCodeProvider ();
public VBCodeProvider (IDictionary<string, string> providerOptions);
// Methods
public virtual ICodeCompiler CreateCompiler ();
public virtual ICodeGenerator CreateGenerator ();
public virtual TypeConverter GetConverter (Type type);
public virtual void GenerateCodeFromMember (CodeTypeMember member, TextWriter writer, CodeGeneratorOptions options);
// Properties
public virtual string FileExtension { get; }
public virtual LanguageOptions LanguageOptions { get; }
}
С уважением. И спасибо за помощь.
Еще немного информации. В верхней части моей страницы у меня есть:
using Microsoft.VisualBasic;
Метод IsNumeric() не отображается в списке, когда я пытаюсь его ввести (обычно все указано в списке).
Еще одно редактирование. Итак, я мог бы сделать это таким образом (но мне нужно использовать IsNumeric метод, чтобы я не терял никаких очков из домашней работы):
static void getBookInfo(Book book)
{
bool isNumeric;
float number;
string numberInput;
Console.Write("Enter Book Title: ");
book.Title = Console.ReadLine();
Console.Write("Enter Author's First Name: ");
book.AuthorFirstName = Console.ReadLine();
Console.Write("Enter Author's Last Name: ");
book.AuthorLastName = Console.ReadLine();
Console.Write("Enter Book Price: $");
numberInput = Console.ReadLine();
isNumeric = float.TryParse(numberInput, out number);
if (isNumeric)
Console.WriteLine(number.ToString());
else
Console.WriteLine("not number");
}
Комментарии:
1. Лично я делаю это вторым способом (ваше последнее редактирование)
2. Хорошо. Да, но я пытаюсь не потерять ни одного балла в своей домашней работе. Сварливый профессор… К черту это, я устанавливаю VisualStudio через WINE!
3. Если вы студент и вам нужно . Net tools, вы можете получить Windows Server 2008, Visual Studio Professional и другие инструменты в www.dreamspark.com бесплатно (и законно).
4. Проблема в том… Я использую Ubuntu Natty (и я пытаюсь придерживаться этого.) Поэтому MonoDevelop показался отличным выбором для программирования на C #.
5. Ну, неважно. В WINE есть ошибка, из-за которой невозможно установить VisualStudio. Я делаю это так, как я представил.
Ответ №1:
Это статический метод в «Microsoft.VisualBasic.Информация» класс. Даже при этом using
вам нужно получить к нему доступ как
Information.IsNumeric (someString)
См . http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.information.isnumeric.aspx
Комментарии:
1. Я посмотрю на это. Это вызовет проблемы в VisualStudio?
2. Нет, так работает C #. Вам нужно будет сделать то же самое в Visual Studio. Я почти уверен, что вам пришлось бы сделать то же самое в VB, если бы это не было специальным встроенным.
3. Нет, не работает. «Ошибка CS0103: имя `информация» не существует в текущем контексте (CS0103) (Lab_6)»
4. В отличие от VB.NET , регистр имеет значение в C #. Используйте «Информация», а не «информация».
Ответ №2:
Если попытка связать сборки Visual Basic слишком сложна, вы можете найти десятичное число.Метод TryParse() выполняет аналогичную функциональность с несколькими недостатками.
Пример его использования можно найти по адресу http://msdn.microsoft.com/en-us/library/9zbda557.aspx
Комментарии:
1. только если бы я был ПРОТИВ 🙂 c # здесь.. Это было моим домашним заданием некоторое время назад, и оно не предполагало использования методов синтаксического анализа.