Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

System.Math un identified

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.

like image 369
Arjun Avatar asked Feb 23 '10 05:02

Arjun


4 Answers

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 ;-)

like image 199
Warty Avatar answered Oct 24 '22 05:10

Warty


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

like image 43
Jonathan Avatar answered Oct 24 '22 05:10

Jonathan


Starting with C# 6.0, you can use

using static System.Math;

if you don't want to write Math. all the time.

like image 22
dashnick Avatar answered Oct 24 '22 06:10

dashnick


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

like image 24
Asad Avatar answered Oct 24 '22 07:10

Asad