Как использовать числовой метод в MonoDevelop с помощью ссылки Microsoft.VisualBasic?

#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 # здесь.. Это было моим домашним заданием некоторое время назад, и оно не предполагало использования методов синтаксического анализа.