C#数学.Sqrt()不起作用

本文关键字:不起作用 Sqrt 数学 | 更新日期: 2023-09-27 18:29:01

所以我对C#编程还很陌生,所以我确信我在这里犯了一个非常简单的错误。我正在使用visualstudio制作一个控制台应用程序,在这个应用程序中,我试图找到一个数字的平方根。我有.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
        }
     }
}

在程序中,我有一行是这样的:

double distanceA = Math.Sqrt(totalA);

因此,当我用VS构建程序时,它"告诉"我"Linear.Math"不包含"Sqrt"的定义。为什么这么说?如何给它一个"Sqrt"的定义?

C#数学.Sqrt()不起作用

因为您将类命名为Math,Visual Studio和编译器不知道您引用的是自己的类(Linear.Math)还是.NET Math类(System.Math)。

您可以通过完全限定名称来指定要使用.NETMath类。:

double distanceA = System.Math.Sqrt(totalA);

这指定您要使用System.Math。通过在使用指令后添加以下内容,您可以在整个文件中使用它:

using Math = System.Math;

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

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