我需要反序列化从grogle maps api返回的这个json:
{
"destination_addresses": [
"Via Medaglie D'Oro, 10, 47121 Forlì FC, Italia",
"Via Torino, 20123 Milano, Italia",
"Via Guglielmo Marconi, 71, 40121 Bologna, Italia",
"Via Irnerio, 40126 Bologna, Italia"
],
"origin_addresses": [
"Via Medaglie D'Oro, 10, 47121 Forlì FC, Italia",
"Via Torino, 20123 Milano, Italia",
"Via Guglielmo Marconi, 71, 40121 Bologna, Italia",
"Via Irnerio, 40126 Bologna, Italia"
],
"rows": [
{
"elements": [
{
"distance": {
"text": "1 m",
"value": 0
},
"duration": {
"text": "1 min",
"value": …Run Code Online (Sandbox Code Playgroud) 我有两个相同的C#枚举定义如下:
public enum ArrivalToleranceEnum
{
ZERO,
QUARTERHOUR,
HALFHOUR,
ONEHOUR,
TWOHOURS,
}
public enum ArrivalTolerance {
/// <remarks/>
ZERO,
/// <remarks/>
QUARTERHOUR,
/// <remarks/>
HALFHOUR,
/// <remarks/>
ONEHOUR,
/// <remarks/>
TWOHOURS,
}
Run Code Online (Sandbox Code Playgroud)
ArrivalTolerance是在外部库中定义的,在我的程序中我想使用本地的EnrivalToleranceEnum,所以我需要转换这两种类型.我怎样才能做到这一点?我试图通过结束(使用开关)这样做,但它是非常tedius而不是非常节省时间因为我需要转换其他更大的枚举.
在我的C项目中,我有五个不同的函数(具有相同的名称),它们以不同的方式实现一种算法.在编译时,我只需要选择其中一个函数.我可以使用#define一堆和一堆来实现这个#ifndef吗?有没有更好的方法来做到这一点?
我在我的代码中这样做:
destImp.Cap = (addr.location.postcode != "?") ? addr.location.postcode : null;
destImp.Civico = (addr.location.street != "?") ? addr.location.street : null;
destImp.Localita = (addr.location.city != "?") ? addr.location.city : null;
destImp.Indirizzo = (addr.location.street != "?") ? addr.location.street : null;
Run Code Online (Sandbox Code Playgroud)
但这很麻烦且多余.有一种方法可以实现相同的结果,但语法更好?