小编Mad*_*nyo的帖子

Json.net序列化/反序列化派生类型?

json.net(newtonsoft)
我正在查看文档,但我找不到任何关于这个或最好的方法来做到这一点.

public class Base
{
    public string Name;
}
public class Derived : Base
{
    public string Something;
}

JsonConvert.Deserialize<List<Base>>(text);
Run Code Online (Sandbox Code Playgroud)

现在我在序列化列表中有Derived对象.如何反序列化列表并返回派生类型?

c# serialization json json.net

84
推荐指数
4
解决办法
9万
查看次数

模数给出了错误的结果?

谁能告诉我为什么这两个模数计算产生两种不同的结果?我只需责怪别人或其他东西而不是我,因为我找不到这个错误.

public void test1()
{
    int stepAmount = 100;
    float t = 0.02f;
    float remainder = t % (1f / stepAmount);
    Debug.Log("Remainder: " + remainder);
    // Remainder: 0.01

    float fractions = 1f / stepAmount;
    remainder = t % fractions;
    Debug.Log("Remainder: " + remainder);
    // Remainder: 0
}
Run Code Online (Sandbox Code Playgroud)

使用VS-2017 V15.3.5

c# modulus

14
推荐指数
1
解决办法
316
查看次数

LibGDX日志记录未显示在logcat中

我无法让LibGDX日志记录在Android Studio中运行.首先,我认为我遇到了与上一个问题相同的问题,但确保我的应用程序在调试时更新.

playButton.addListener(new ChangeListener()
    {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
        Gdx.app.debug("BUTTON", "playButton Pressed");
        optionButton.addAction(Actions.moveBy(-200, 0, 2));
    }

});
Run Code Online (Sandbox Code Playgroud)

执行选项按钮上的测试操作但我无法显示调试日志.

java android libgdx android-studio

12
推荐指数
2
解决办法
7944
查看次数

杰克逊如何在没有制定者的情况下设置私有财产?

我非常好奇Jackson如何创建对象,包括它的私有属性/字段,没有setter,只使用对象空构造函数.

我问的原因是当我反序列化某些属性时,我想根据这些值自动设置其他属性.例如,我不想序列化图像,只是它的路径.一旦路径被反序列化,@JsonIgnore字段Image就可以加载实际图像.在反序列化对象的构造之后,尚未分配字段.从逻辑上讲,吸气剂没有被调用.那么伏都教魔法是什么触摸我的物体私处?

public class ItemTemplate {

    private String imagePath;

    public ItemTemplate() {
        System.out.println(imagePath); //Still null
    }

    public String getImagePath() {
        System.out.println(imagePath); //Not being called when deserializing.
        return imagePath;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当杰克逊完成对这个对象的反序列化时,它已经imagePath设置好了.

java json jackson

8
推荐指数
1
解决办法
7471
查看次数

运算符"&"不能应用于byte,int,boolean

根据我之前关于如何比较组合位是否包含特定位的问题,我遇到了这个错误.

    int flag1 = 1 << 0;
    int flag4 = 1 << 5;

    int combined = flag1 | flag4;

    if (combined & flag1 == flag1) // <-- Operator & cannot be applied to int, boolean
Run Code Online (Sandbox Code Playgroud)

如果我将标志转换为字节,则错误替换intbyte.

java bit-shift bit

6
推荐指数
1
解决办法
3598
查看次数

创建图标时无法在Asset Studio中单击下一步

不确定将Android Studio IDE的问题发布在哪里,希望可以在此处解决。

当我通过右键单击我的Android模块并选择new -> Image Asset我无法越过第一个屏幕在Android Studio中打开Asset Studio时。即使当我保留此默认值时,当我尝试按下一步时,“资产窗口”也将在一两秒后开始抖动。

  • 我在Android Stuido的先前版本中遇到了此问题,但是对最新版本的更新没有帮助。
  • 我尝试更新android SDK和构建工具,因为它们显然相关,但未成功。
  • 我尝试重新启动Android Studio,但“错误”仍然存在。

也许我做错了事,创建了有关工作流程和遇到的问题的视频

android android-studio

6
推荐指数
1
解决办法
553
查看次数

MySQL队列查询吗?

如果有两个人同时向数据库发送相同的查询,而另一个查询返回不同的查询,会发生什么?

我有一个商店,剩下一件商品.两个或更多人购买该项目,并且查询在MySQL服务器上完全同时到达.我的猜测是它会排队,但如果是这样,MySQL如何选择第一个执行,我可以对此有影响吗?

php mysql sql database

5
推荐指数
1
解决办法
9178
查看次数

反序列化为正确的子对象

我正在尝试将父母和不同孩子的混合反序列化为List<parent>. 不幸的是,我孩子的所有额外字段都被丢弃并被序列化为父项。

我一直试图弄清楚如何将对象作为一个整体命名以将它们链接到正确的子类。我没有得到任何结果。

这些是一个简单的父类和子类,我尝试从以下对象序列化对象:

[JsonObject(MemberSerialization.OptIn)]
    class Product
    {
        [JsonProperty]
        public string Name { get; set; }
        [JsonProperty]
        public int Amount { get; set; }
        [JsonProperty]
        public int Value { get; set; }
    }

    [JsonObject(MemberSerialization.OptIn)]
    class ProductType : Product
    {
        [JsonProperty(Order = 4)]
        public int Volume { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

序列化不是问题,卷被添加为“特殊产品”对象的最终字段。目标是生多个孩子。在序列化列表中的 2 个创建对象的代码下方。它无法反序列化,因为它将两个对象作为列表中的正常产品放回:

Product test1 = new Product { Name = "Simple Product", Amount = 110, Value = 10 };
ProductType test2 = new ProductType { Name= "Special …
Run Code Online (Sandbox Code Playgroud)

c# serialization json json.net

5
推荐指数
1
解决办法
4396
查看次数

使用哪种数据类型?CPU如何读取它们?

让我们从小开始,说我需要存储一个200的const值,我应该总是使用无符号字节吗?

我想这只是一件小事.但是结构呢?构建我的结构是否明智,以便32位系统上的32可以分割?假设我需要遍历一个非常大的结构数组,如果结构由34位或64位组成,那么它是否重要?如果我能从34位结构中挤出2位,我认为它会获得很多收益?

或者所有这些都会产生不必要的开销,我最好将所有的位和短路替换为此结构中的整数,这样CPU就不必"寻找"正确的内存块了吗?

c#

4
推荐指数
1
解决办法
196
查看次数

MSDN图表实时更改点值?

我想使用MSDN图表来表示我从telnet应用程序获取的实时数据.出于测试目的,我添加了一个按钮来手动更改图表.我手动制作了图表,它在X轴上有0到5个点,X上的值不同.该系列由它的默认名称"Series1"命名.

我尝试了以下方法:

chart1.Series [ "系列1"] Points.ElementAt(0).SetValueY(40); //什么都没发生

chart1.Series ["Series1"].Points.ElementAt(1).SetValueXY(1,20); //什么都没发生

.chart1.Series [ "系列1"]点[0] .SetValueY(40); //什么都没发生

chart1.Series ["Series1"].Points.ElementAt(1).YValues.SetValue(10,0); //什么都没发生

chart1.Series [ "系列1"] Points.Clear(); //删除它应该的所有点.

那么如何在运行时更改数据点条目?

-EDIT-如果我使用修改一个点chart1.Series["Series1"].Points.ElementAt(0).SetValueY(40);并在此之后添加一个点chart1.Series["Series1"].Points.AddXY(1, 40);,修改后的点会捕捉到它的修改位置.结论是修改确实会改变点Y值,但图形不会刷新.AddXY()函数似乎是autorefresh.我似乎找不到手动调用Refresh()的方法.

c# charts msdn winforms

4
推荐指数
1
解决办法
2万
查看次数