如何使用Microsoft.VisualBasic引用在MonoDevelop中使用IsNumeric方法?

时间:2011-10-04 01:12:49

标签: c# reference 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");
}

2 个答案:

答案 0 :(得分:1)

这是“Microsoft.VisualBasic.Information”类中的静态方法。即使使用using,您也需要以

的形式访问它

Information.IsNumeric (someString)

请参阅http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.information.isnumeric.aspx

答案 1 :(得分:1)

如果尝试链接到Visual Basic程序集的痛苦太多,您可能会发现decimal.TryParse()方法执行适当类似的功能,但缺点很少。

可以在http://msdn.microsoft.com/en-us/library/9zbda557.aspx

找到其使用示例