System.Math не определен - PullRequest
       26

System.Math не определен

10 голосов
/ 23 февраля 2010
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();    
      }    
  }

Я чувствую, что в этом коде все ясно, но этот код дает ошибки компиляции:
Директива using namespace может быть применена только к пространствам имен; System.Math - это тип, а не пространство имен

Как использовать математические функции? Где мы можем получить список всех математических функций, доступных в классе Math?

Спасибо.

Ответы [ 4 ]

29 голосов
/ 23 февраля 2010

Math - это статический класс, а не пространство имен. Он расположен в пространстве имен системы.
Следовательно, вам нужно только включить пространство имен System.
Просто используйте Math.Sqrt и удалите «using System.Math;» Обратите внимание, что это Math.Sqrt, а не Math.sqrt

Надеюсь, что помогает; -)

5 голосов
/ 28 января 2017

Начиная с C # 6.0, вы можете использовать

using static System.Math;

, если вы не хотите писать Math. все время.

5 голосов
/ 23 февраля 2010

У вас проблема с чувствительностью к регистру

double r = Math.Sqrt(n);

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

2 голосов
/ 23 февраля 2010

удалить using System.Math;

Вам нужно сослаться на Math класс, как указано выше. using System; достаточно

Для справки и использования образца см. Класс математики

...