Col*_*nic 5 .net system.numerics
我正在尝试使用System.Numerics.Vector<T>(文档).
我写了一个简单的单元测试:
var v = new System.Numerics.Vector<double>(new double[] { 12, 13, 14 });
Assert.AreEqual(3, v.Count);
Run Code Online (Sandbox Code Playgroud)
但它给了我一个构建错误:
无法使用实例引用访问成员'Vector.Count'; 用类型名称来限定它
令我惊讶的Vector<T>.Count是,是静态的.
所以我尝试过:
var v = new System.Numerics.Vector<double>(new double[] { 12, 13, 14 });
Assert.AreEqual(3, Vector<double>.Count);
Run Code Online (Sandbox Code Playgroud)
现在代码构建但单元测试失败:
Assert.AreEqual失败.预期:<3>.实际:<2>.
这是怎么回事?
调查我发现:
Assert.AreEqual(2, Vector<double>.Count);
Assert.AreEqual(4, Vector<float>.Count);
Assert.AreEqual(4, Vector<int>.Count);
Assert.AreEqual(2, Vector<long>.Count);
Run Code Online (Sandbox Code Playgroud)