如何return一个日期或一个错误?由#.Net
How to return a date or an error? c# .Net
我正在尝试从输入的日期中 return 格式为“dd / MM / yyyy”的日期。
如果输入的日期格式如下:“dd-mm-yyyy”,我想 return 一个错误:“输入的日期格式无效。”
我分享我的代码:
public class DateTimeConverterUsingDateTimeParse : JsonConverter<DateTime>
{
public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
Debug.Assert(typeToConvert == typeof(DateTime));
return DateTime.ParseExact(reader.GetString(), "dd/MM/yyyy", CultureInfo.InvariantCulture);
}
}
我尝试执行以下操作,但它不正确,因为我必须 return 一个 DateTime 变量:
public class DateTimeConverterUsingDateTimeParse : JsonConverter<DateTime>
{
public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
Debug.Assert(typeToConvert == typeof(DateTime));
try
{
return DateTime.ParseExact(reader.GetString(), "dd/MM/yyyy", CultureInfo.InvariantCulture);
}
catch (Exception ex)
{
var error = "Date format error";
return error;
}
}
}
希望你能帮帮我!谢谢
在这种情况下,您正在实施 JsonConverter<T>
,这意味着实施应符合 class 的预期行为,即在无法转换输入值时抛出 JsonException
.
public class DateTimeConverterUsingDateTimeParse : JsonConverter<DateTime>
{
public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
Debug.Assert(typeToConvert == typeof(DateTime));
if (DateTime.TryParseExact(reader.GetString(), "dd/MM/yyyy",
CultureInfo.InvariantCulture, DateTimeStyles.None, out var result)
{
return result;
}
else throw new JsonException();
}
}
我使用 TryParseExact
所以不需要捕获异常。
我正在尝试从输入的日期中 return 格式为“dd / MM / yyyy”的日期。 如果输入的日期格式如下:“dd-mm-yyyy”,我想 return 一个错误:“输入的日期格式无效。” 我分享我的代码:
public class DateTimeConverterUsingDateTimeParse : JsonConverter<DateTime>
{
public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
Debug.Assert(typeToConvert == typeof(DateTime));
return DateTime.ParseExact(reader.GetString(), "dd/MM/yyyy", CultureInfo.InvariantCulture);
}
}
我尝试执行以下操作,但它不正确,因为我必须 return 一个 DateTime 变量:
public class DateTimeConverterUsingDateTimeParse : JsonConverter<DateTime>
{
public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
Debug.Assert(typeToConvert == typeof(DateTime));
try
{
return DateTime.ParseExact(reader.GetString(), "dd/MM/yyyy", CultureInfo.InvariantCulture);
}
catch (Exception ex)
{
var error = "Date format error";
return error;
}
}
}
希望你能帮帮我!谢谢
在这种情况下,您正在实施 JsonConverter<T>
,这意味着实施应符合 class 的预期行为,即在无法转换输入值时抛出 JsonException
.
public class DateTimeConverterUsingDateTimeParse : JsonConverter<DateTime>
{
public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
Debug.Assert(typeToConvert == typeof(DateTime));
if (DateTime.TryParseExact(reader.GetString(), "dd/MM/yyyy",
CultureInfo.InvariantCulture, DateTimeStyles.None, out var result)
{
return result;
}
else throw new JsonException();
}
}
我使用 TryParseExact
所以不需要捕获异常。