C#Math.Sqrt()无效

Col*_* Z. 2 .net c#

所以我仍然是C#编程的新手,所以我确定我在这里犯了一个非常简单的错误.我正在使用visual studio来制作一个控制台应用程序,在这个应用程序中,我试图找到一个数字的平方根.我有.NET框架.
这是我的程序的顶部:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Linear
{
    public static class Math
    {
        static void Main()
        {
          // program in here
        }
     }
}
Run Code Online (Sandbox Code Playgroud)

在程序中,我有一行如下:

double distanceA = Math.Sqrt(totalA);
Run Code Online (Sandbox Code Playgroud)

因此,当我使用VS构建程序时,它告诉我'Linear.Math'不包含'Sqrt'的定义.为什么这么说呢?我怎样才能给出'Sqrt'的定义?

Cyr*_*ral 24

因为您为您的类命名Math,所以Visual Studio和编译器不知道您是指您自己的class(Linear.Math)还是.NET Math类(System.Math).

您可以通过完全限定名称来指定您希望使用.NET Math类:

double distanceA = System.Math.Sqrt(totalA);
Run Code Online (Sandbox Code Playgroud)

这表明您想要使用System.Math.您可以在using指令后添加以下内容,在整个文件中使用它:

using Math = System.Math;
Run Code Online (Sandbox Code Playgroud)

这称为using alias指令,它将告诉编译器Math引用System.Math.

请注意,通常不建议在创建自己的类时使用冲突的名称.

  • @ColeZ.如果这个答案解决了您的问题,请将其标记为解决方案. (2认同)