C# 奥姆斯
在您的代码中,您正在一个数据集中的所有记录上循环(您正在做两次),并覆盖hotelId的值。也就是说,您仅使用hotelId和room数据集中的最后一条记录在哪一行得到错误?h.rooms.Add(r);我在节目中也提到,提供一个。sql连接与问题完全无关。是的,你提供了,但是你也提供了太多不相关的信息,以至于它没有显示在屏幕上。实际上,在序列化对象之前,你会遇到异常。因此,这与json序列化毫无关系,标题也毫无意义;我在节目中也提到,提供一个。sql连接与问题完全无关。是的,你提供了,但是你也提供了太多不相关的信息,以至于它没有显示在屏幕上。实际上,在序列化对象之前,你会遇到异常。因此,这与json序列化毫无关系,标题也毫无意义。将null传递给list的Add是完全有效的。实际上,您仍然认为r是罪魁祸首,但在所讨论的行中,r不可能导致nullref异常。但是,field rooms是未初始化的,因此为null传递null以添加listNot实际上您仍然认为r是罪魁祸首,但是在所讨论的行中,r不可能导致nullref异常。然而,现场会议室尚未初始化,因此,谢谢您,先生,。这很有帮助。谢谢你,先生,。这很有帮助。C# 奥姆斯,c#,nullreferenceexception,C#,Nullreferenceexception,在您的代码中,您正在一个数据集中的所有记录上循环(您正在做两次),并覆盖hotelId的值。也就是说,您仅使用hotelId和room数据集中的最后一条记录在哪一行得到错误?h.rooms.Add(r);我在节目中也提到,提供一个。sql连接与问题完全无关。是的,你提供了,但是你也提供了太多不相关的信息,以至于它没有显示在屏幕上。实际上,在序列化对象之前,你会遇到异常。因此,这与json序列化毫无关系,标题也毫无意义;我在节目中也提到,提供一个。sql连接与问题完全无关。是的,你提供了,但是你也
{
"accessKey": "7eb228097576abf56968e9845ab51b90",
"channelId": "103",
"hotels": [
{
"hotelId": "2",
"rooms": [
{
"roomId": "1"
}
]
}
]
}
public class RootObject
{
public string accessKey { get; set; }
public string channelId { get; set; }
public List<Hotel> hotels { get; set; }
}
public class Hotel
{
public string hotelId { get; set; }
public List<Room> rooms { get; set; }
}
public class Room
{
public string roomId { get; set; }
}
string s = "";
RootObject ro = new RootObject();
ro.accessKey = "7eb228097576abf56968e9845ab51b90";
ro.channelId = "103";
ro.hotels = new List<Hotel>();
Hotel h = new Hotel();
Room r = new Room();
string config = "server=localhost;username=someuser;password=somepwd;database=db";
MySqlConnection connection = new MySqlConnection(config);
string query = "select * from test1";
MySqlCommand command = new MySqlCommand(query, connection);
connection.Open();
MySqlDataReader Reader = command.ExecuteReader();
while (Reader.Read())
{
r.roomId = Reader[2].ToString();
}
connection.Close();
query = "select * from test1";
command = new MySqlCommand(query, connection);
connection.Open();
Reader = command.ExecuteReader();
while (Reader.Read())
{
h.hotelId = Reader[1].ToString();
}
connection.Close();
h.rooms.Add(r); // Object reference not set to an instance of an object Error
ro.hotels.Add(h);
JavaScriptSerializer js = new JavaScriptSerializer();
s = js.Serialize(ro);
return s;
}
public class Hotel
{
public Hotel()
{
rooms = new List<Room>();
}
public string hotelId { get; set; }
public List<Room> rooms { get; set; }
}
Room r = new Room();
r.roomId = 1;
public class Hotel
{
public Hotel(string hotelId){
this.hotelId = hotelId;
this.rooms = New List<Room>();
}
public string hotelId { get; private set; }
public List<Room> rooms { get; private set; }
}