Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 静态类与非静态类_C#_Json - Fatal编程技术网

C# 静态类与非静态类

C# 静态类与非静态类,c#,json,C#,Json,这就是我的代码在公共表单1()中的样子 这就是json字符串将返回的内容,唯一会改变的区别可能是类型、代码、开始和结束。-我想要开始值和结束值。 [{"Type":1,"Country":"CA","Channel":"","Code":"1EZ","Start":"2014-10-24T00:00:00","End":"2015-10-23T00:00:00"},{"Type":2,"Country":"","Channel":"","Code":"UAD","Start":"2014-10-

这就是我的代码在公共表单1()中的样子

这就是json字符串将返回的内容,唯一会改变的区别可能是类型、代码、开始和结束。-我想要开始值和结束值。

[{"Type":1,"Country":"CA","Channel":"","Code":"1EZ","Start":"2014-10-24T00:00:00","End":"2015-10-23T00:00:00"},{"Type":2,"Country":"","Channel":"","Code":"UAD","Start":"2014-10-24T00:00:00","End":"2017-10-23T00:00:00"},{"Type":2,"Country":"","Channel":"","Code":"TPQ","Start":"2014-10-24T00:00:00","End":"2017-10-23T00:00:00"},{"Type":3,"Country":"","Channel":"","Code":"SVC_PRIORITY","Start":"2014-10-24T00:00:00","End":"2017-10-23T00:00:00"}]
我对编程相当陌生,遇到了一个错误,我并不真正理解“非静态字段、方法或属性需要对象引用”


另外,我在Form1.cs中创建了这个类,而不是在我的项目解决方案中创建一个新类(如果有关系的话?

您尝试访问
MyObject.Start
,就像它是一个静态属性或字段一样。但是,它是一个实例字段,基本上您需要获得一个实例才能访问该字段

MyObject obj = list[0];
var date = obj.Start;
字段
List=…
包含从json文件反序列化的所有数据(如果json文件中不存在数据,则无数据!)

我猜您希望访问json文件的所有数据,在本例中,我更希望通过foreach循环迭代对象

foreach (MyObject item in list) { .... }

您尝试访问
MyObject.Start
,就像访问静态属性或字段一样。但是,它是一个实例字段,基本上您需要获得一个实例才能访问该字段

MyObject obj = list[0];
var date = obj.Start;
字段
List=…
包含从json文件反序列化的所有数据(如果json文件中不存在数据,则无数据!)

我猜您希望访问json文件的所有数据,在本例中,我更希望通过foreach循环迭代对象

foreach (MyObject item in list) { .... }

问题在于行
var date=MyObject.Start您已创建MyObject列表。要访问它们,必须使用列表索引,即
var first=list[0]
返回第一个元素。然后您可以获取所需的日期:
first.Start
为了处理列表中的每个条目,您可以使用
foreach
循环,如下所示:

foreach (var obj in list) {
    // use obj.Start, obj.End values
}

问题在于行
var date=MyObject.Start您已创建MyObject列表。要访问它们,必须使用列表索引,即
var first=list[0]
返回第一个元素。然后您可以获取所需的日期:
first.Start
为了处理列表中的每个条目,您可以使用
foreach
循环,如下所示:

foreach (var obj in list) {
    // use obj.Start, obj.End values
}

哦,我明白了!所以为了像类型1的开始日期和结束日期一样将它们分开,类型2的。。。第三类的。。。我可以对每个对象(列表中的MyObject类型、开始、结束项)执行
吗?@Havoux所有数据都在一个
MyObject
实例中。当json中有多个文件时,遍历所有这些文件非常有用。还是我误解了你?不,你明白了,100%谢谢,先生!哦,我明白了!所以为了像类型1的开始日期和结束日期一样将它们分开,类型2的。。。第三类的。。。我可以对每个对象(列表中的MyObject类型、开始、结束项)执行
吗?@Havoux所有数据都在一个
MyObject
实例中。当json中有多个文件时,遍历所有这些文件非常有用。还是我误解了你?不,你明白了,100%谢谢,先生!