Это мои занятия
public class Competitor
{
public string Team { get; set; }
public string Win { get; set; }
}
public class CompetitorsClass
{
public int ActiveCompetitors { get; set; }
public List<Competitor> Competitors { get; set; }
public int TotalCompetitors { get; set; }
public bool HasWinOdds { get; set; }
}
public class RootObject
{
public int EventID { get; set; }
public int ParentEventID { get; set; }
public string MainEvent { get; set; }
public CompetitorsClass Competitors { get; set; }
public string EventStatus { get; set; }
public bool IsSuspended { get; set; }
public bool AllowBets { get; set; }
}
Здесь я передаю данные в класс Root. Как я могу передать ценности CompetitorsClass Competitors. Может ли кто-нибудь сказать мне, как это сделать, и любой пример, похожий на этот? Я знаю, что это может быть основной материал для большинства из вас, но я новичок в С# и учебе.
var obj2 = JsonConvert.DeserializeObject<Dictionary<string, Dictionary<string, RootObject>>>(json);
foreach (var root in obj2)
{
int count = root.Value.Count;
foreach (var child in root.Value)
{
RootObject ob = new RootObject();
ob.EventID = child.Value.EventID;
ob.EventStatus = child.Value.EventStatus;
CompetitorsClass cs = new CompetitorsClass();
cs.ActiveCompetitors = 0;
cs.HasWinOdds = false;
cs.TotalCompetitors = 2;
// cs.Competitors
// cs.Competitors = ob.Competitors;
}
}
Есть два способа подойти к проблеме:
Просто назначьте коллекцию, например:
CompetitorsClass cs = new CompetitorsClass();
cs.ActiveCompetitors = 0;
cs.Competitors = myList; //or new List<Competitor>() if you don't have it yet.
Перейдите в конструктор и назначьте:
public class CompetitorsClass
{
public CompetitorsClass(List<Competitor> competitors)
{
Competitors = competitors;
}
...
}
cs = new CompetitorsClass(myList);
Второй, как правило, предпочтителен, поскольку он гарантирует, что переменная была инициализирована, вместо того, чтобы полагаться на значение по умолчанию (в этом случае значение null
).
Чтобы перейти к списку существующих участников, вы должны написать:
ob.Competitors.Competitors //This is "myList" in my examples
RootObject
имеет свойства Competitors
и это тип CompetitorsClass
.
Вы можете использовать эти свойства:
cs.Competitors = ob.Competitors.Competitors;