0

decimal在我的程序中使用类型属性时遇到问题,该程序使用 Neo4jClient 与我的 Neo4J 服务器交互。

using System;
using Neo4jClient;

namespace TestProject
{
    class Program
    {
        static void Main()
        {
            var graphClient = new GraphClient(new Uri("http://localhost:7474/db/data"));
            graphClient.Connect();

            const decimal socialFactor = 0.5m;

            var userIn = new User {Name = "John Doe", SocialFactor = socialFactor};
            var nodeRef = graphClient.Create(userIn);
            var userOut = graphClient.Get(nodeRef).Data;

            Console.WriteLine(userOut.Name + ", " + userOut.SocialFactor);
            Console.WriteLine(userOut.SocialFactor == socialFactor ? "win" : "fail!");
        }
    }

    class User
    {
        public string Name { get; set; }
        public decimal SocialFactor { get; set; }
    }
}

程序所做的是将一个社交因子为 0.5 的用户节点插入到 Neo4j ( userIn) 中,并立即再次检索该用户节点 ( userOut)。问题是userOut.SocialFactor5 而不是 0.5!

奇怪的是,当我将类型更改为 时double,没有问题,但这显然是我不想做的事情。

这是一个错误吗?有什么解决方法吗?

谢谢,扬

4

1 回答 1

0

事实证明是的,这是一个错误,但它最近在Neo4jClient 的 1.0.0.595 版本中得到了修复。

于 2013-09-30T07:08:34.413 回答