小编Geo*_*son的帖子

使用json.net反序列化null regex属性

以下代码将引发异常:

class SimpleClassWithRegex
{
    public Regex RegProp { get; set; }
}

[TestMethod]
public void RegexTest()
{
    string json = JsonConvert.SerializeObject(new SimpleClassWithRegex {RegProp = null}); 
    // json = {"RegProp":null}
    SimpleClassWithRegex obj = JsonConvert.DeserializeObject<SimpleClassWithRegex>(json); 
    //Above line throws a JsonSerializationException
}
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎很奇怪,有人可以解释为什么这不是一个bug吗?或者也许建议一个解决方法?实例化一个Regex对象代替null当然会阻止它抛出异常.

产生的例外是:

Newtonsoft.Json.JsonSerializationException: Unexpected token when reading Regex. Path 'RegProp', line 1, position 15.

c# json.net

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

ASP.NET 5 Process.Start?

我试图Process.Start在ASP.NET Beta8项目中使用,我希望能够使用.Net核心在Linux上运行.Visual Studio在编译时给出了一个错误:

Error CS0103 The name 'Process' does not exist in the current context

回过头来,将鼠标悬停在Process.Start我身上,我可以看到一条消息"DNX core 5.0 not available".在asp.net 5中有不同的方法来调用进程吗?或者这可能还不可能?

这正是我使用它的方式:

var p = Process.Start("someprog", "someargs");
p.WaitForExit();
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-core

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

为什么每个循环都不起作用?

我有这个代码不起作用:

Panel[] panelArr = new Panel[5];

for (Panel p:panelArr) {
    p = new Panel();
}
Label lblName = new Label("Name:");
panelArr[0].add(lblName);
Run Code Online (Sandbox Code Playgroud)

它出现了错误:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at GUIVehicles$NewSportsCarDialog.<init>(GUIVehicles.java:65)
Run Code Online (Sandbox Code Playgroud)

但是,如果我用for循环替换for-each循环,它就可以工作.

for (int i = 0; i < 5; i++) {
    panelArr[i] = new Panel();
}
Run Code Online (Sandbox Code Playgroud)

据我所知,通过每个循环的文档来看,两个for循环应该是等价的.显然情况并非如此,我想知道为什么?

java foreach loops for-loop

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

标签 统计

c# ×2

asp.net ×1

asp.net-core ×1

for-loop ×1

foreach ×1

java ×1

json.net ×1

loops ×1