-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
- 删除DelayUs()方法,使用Thread.Sleep(800);
- 将 null 字面量或可能为 null 的值转换为非 null 类型。遇到这种情况时需要判断可能潜在的null问题,增强程序健壮性
JArray? jArry = (JArray)JsonConvert.DeserializeObject(File.ReadAllText(filePath + "/usercache.json"));
if (jArry == null) { Console.WriteLine("读取usercache.json时出错"); } - 解引用可能出现空引用。usercacheData.Add([jArry[i]["name"].ToString(), jArry[i]["uuid"].ToString()]); 如果遇到读取不到的时候,程序会崩溃,可以用?.来表示如果前面的变量为null,就不执行后面的方法,??是当前面的变量为null时就赋值后面的变量或方法返回的值 usercacheData.Add([jArry[i]["name"]?.ToString() ?? string.Empty, jArry[i]["uuid"]?.ToString() ?? string.Empty]);
- 不要使用(JArray)JsonConvert.DeserializeObject(File.ReadAllText(filePath + "/usercache.json"));,改用Json序列化和反序列化,就是读取json然后把它反序列化成对应的类,或者把类序列化成Json文本
`
// 使用强类型反序列化
public class UserCache
{
[JsonProperty("name")]
public string Name { get; set; } = string.Empty;
[JsonProperty("uuid")]
public string UUID { get; set; } = string.Empty;
[JsonProperty("expiresOn")]
public string ExpiresOn { get; set; } = string.Empty;
}
//反序列化
var users = JsonConvert.DeserializeObject<List>(File.ReadAllText(usercachePath));
//序列化
string jsonString = JsonConvert.SerializeObject(users);
`
Metadata
Metadata
Assignees
Labels
No labels