views:

157

answers:

4
using System;    
using System.Math;    
class test

  {    
    public static void Main()    
      {    
        Console.Write("Enter any  value: ");    
        string s=Console.ReadLine();    
        double n = double.Parse(s);    
        double r = Math.sqrt(n);    
        Console.WriteLine(r);    
        Console.ReadKey();    
      }    
  }

I feel that every thing is clear in this code, but this code is giving compile errors:
A using namespace directive can only be applied to namespaces; 'System.Math' is a type not a namespace

How to use math functions? Where do we get a list of all math functions available in Math class?

Thank You.

+7  A: 

Math is a static class, not a namespace. It is located in the System namespace.
Therefore, you only have to include the System namespace.
Simply use Math.Sqrt and drop the "using System.Math;" Note that it is Math.Sqrt and not Math.sqrt

Hope that helps ;-)

ItzWarty
A: 

I would assume that there is a problem with your .net installation. You can try a repair of your visual studio install and see if that helps. The code above is valid and it should reference System automatically.

Dested
+3  A: 

You've got a case sensitivity problem

double r = Math.Sqrt(n);

http://msdn.microsoft.com/en-us/library/system.math_members(VS.85).aspx

Jonathan
+1  A: 

remove using System.Math;

You do need to reference Math class like above. using System; is enough

For reference and sample use, see Math Class

Asad Butt