Unity不接受System.Numerics参考

时间:2015-06-29 20:15:27

标签: c# .net unity3d monodevelop

我一直在努力将BigInteger添加到MonoDevelop中的代码中以允许非常大的数字,但是System.Numerics给了我很多麻烦。我添加了.dll参考,iv确保其他所有内容都被正确引用,但我仍然收到此错误:

Assets/Scripts/Click.cs(4,14): error CS0234: The type or namespace name `Numerics' does not exist in the namespace `System'. Are you missing an assembly reference?

以下是我尝试使用Numerics的课程:

using UnityEngine;
using System.Collections;
using System;
using System.Numerics;

public class Click : MonoBehaviour {

    public UnityEngine.UI.Text PixelsDisplay;
    public UnityEngine.UI.Text PPC;
    public double pixels = 0.0;
    public double ppc = 1.0; 

    void Update(){
        PixelsDisplay.text = "Pixels: " + pixels.ToString ("#,#");
        if (pixels >= 10000000) {
            PixelsDisplay.text = "Pixels: " + Math.Round(pixels / 1000000, 2) + "M";
        }
        if (pixels >= 1000000000) {
            PixelsDisplay.text = "Pixels: " + Math.Round(pixels / 1000000000, 2) + "B";
        }
        if (pixels >= 1000000000000) {
            PixelsDisplay.text = "Pixels: " + Math.Round(pixels / 1000000000000, 2) + "T";
        }
        if (pixels >= 1000000000000000) {
            PixelsDisplay.text = "Pixels: " + Math.Round(pixels / 1000000000000000, 2) + "Qd";
        }
        if (pixels >= 1000000000000000000) {
            PixelsDisplay.text = "Pixels: " + Math.Round(pixels / 1000000000000000000, 2) + "Qt";
        }
        if (pixels >= BigInteger.Parse("1000000000000000000000")) {
            PixelsDisplay.text = "Pixels: " + Math.Round(pixels / BigInteger.Parse("1000000000000000000000"), 2) + "Sx";
        }

        PPC.text = "PPC: " + ppc.ToString ("#,#");
        //TODO
    }

    public void Clicked(){
            pixels += ppc;
    }
}

现在这是一张显示我所有参考文献的图片:

enter image description here

我搜索过类似的问题,但是给出的答案并不直接与System.Numerics打交道,而且通常都没有使用MonoDevelop。谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

System.Numerics未在Unity使用的Mono风格中实现。

因此您无法使用该命名空间。请记住,Unity使用的Mono是自定义的,并且与.NET 2.0部分兼容。

MonoDevelop或VisualStudio将允许您添加所需的DLL,不会抛出任何错误,但Unity会。

比较列表here

答案 1 :(得分:0)

您可以尝试从https://github.com/Microsoft/referencesource复制所需的类 - 它可能会转移到复制/修补越来越多的文件,或者它可能相当简单。我让Complex.cs只能进行一两次更改。