특점 점수를 통해 랭킹 검색시, 점수 전 후에 대해서 질문이 있습니다.
previousRank, nextRank가 존재하지 않을때와 존재할때의 예외사항을 어떻게 줘야되나요?
존재할때는 mainRows[“nextRank”][0] 로 받아야되고 없을때는 mainRows[“nextRank”]로 받아야되는데
두 상황을 공통적으로 확인을 할수가 없네요;;
// 코드
SendQueue.Enqueue(Backend.URank.User.GetRankListByScore,uuid, scroe, callback =>
{
if (callback.IsSuccess())
{
var mainRows = callback.GetReturnValuetoJSON();
for (int i = 0; i < mainRows[“rows”].Count; i++)
{
var rows = mainRows[“rows”][i];
UserRankingInfoClass newRankingClass = new UserRankingInfoClass();
newRankingClass.userIndate = rows[“gamerInDate”][“S”].ToString();
newRankingClass.value = Int32.Parse(rows[“score”][“N”].ToString());
newRankingClass.ranking = Int32.Parse(rows[“rank”][“N”].ToString());
newRankingClass.nickName = rows[“nickname”][“S”].ToString();
userIndateList.Add(newRankingClass);
}
if (!mainRows["previousRank"].ContainsKey("NULL"))
{
if (mainRows["previousRank"][0].ContainsKey("rank"))
{
var rows = mainRows["previousRank"][0];
UserRankingInfoClass newRankingClass2 = new UserRankingInfoClass();
newRankingClass2.userIndate = rows["gamerInDate"]["S"].ToString();
newRankingClass2.value = Int32.Parse(rows["score"]["N"].ToString());
newRankingClass2.ranking = Int32.Parse(rows["rank"]["N"].ToString());
newRankingClass2.nickName = rows["nickname"]["S"].ToString();
userIndateList.Add(newRankingClass2);
}
}
if (!mainRows["nextRank"].ContainsKey("NULL"))
{
if (mainRows["nextRank"][0].ContainsKey("rank"))
{
var rows = mainRows["nextRank"][0];
UserRankingInfoClass newRankingClass2 = new UserRankingInfoClass();
newRankingClass2.userIndate = rows["gamerInDate"]["S"].ToString();
newRankingClass2.value = Int32.Parse(rows["score"]["N"].ToString());
newRankingClass2.ranking = Int32.Parse(rows["rank"]["N"].ToString());
newRankingClass2.nickName = rows["nickname"]["S"].ToString();
userIndateList.Add(newRankingClass2);
}
}
GetEnermyInfo();
}
// 예외 ~
});