public string ToStringWithRank(int rank, HoseiKind hosei_kind, int mylist_rate) { if (status_ == Status.DELETED) { return(video_id + "\tDELETED"); } else if (status_ == Status.NOT_FOUND) { return(video_id + "\tDELETED"); } else if (status_ == Status.OTHER) { return(video_id + ""); } else { StringBuilder buff = new StringBuilder(); buff.Append(video_id); buff.Append("\t"); buff.Append(rank.ToString()); buff.Append("\t"); buff.Append(IJStringUtil.ToStringWithComma(point.view)); buff.Append("\t"); buff.Append(IJStringUtil.ToStringWithComma(point.res)); buff.Append("\t"); buff.Append(IJStringUtil.ToStringWithComma(point.mylist)); buff.Append("\t"); buff.Append(point.GetHoseiString(hosei_kind, mylist_rate, 2, hosei_kind == HoseiKind.Nicoran)); buff.Append("\t"); buff.Append(point.GetMylistRateString()); buff.Append("\t"); buff.Append(IJStringUtil.ToStringWithComma(point.CalcScore(hosei_kind, mylist_rate))); buff.Append("\t"); buff.Append(title); buff.Append("\t"); buff.Append(NicoUtil.DateToString(submit_date)); buff.Append("\t"); buff.Append(video_id + ".png"); buff.Append("\t"); buff.Append(pname); buff.Append("\t"); buff.Append(tag_set.ToString()); return(buff.ToString()); } }
public void CalculateSum(InputOutputOption iooption, RankingMethod ranking_method) { RankFile rank_file = iooption.GetRankFile(); msgout_.Write("------------------------------------------\r\n"); msgout_.Write("内訳: 再生数, コメント数, マイリスト数, ポイント\r\n"); RankPoint point = new RankPoint(); point.view = point.res = point.mylist = 0; List <Video> video_list = rank_file.GetVideoList(); List <int> view_list = new List <int>(); List <int> res_list = new List <int>(); List <int> mylist_list = new List <int>(); List <int> point_list = new List <int>(); for (int i = 0; i < video_list.Count; ++i) { point += video_list[i].point; view_list.Add(video_list[i].point.view); res_list.Add(video_list[i].point.res); mylist_list.Add(video_list[i].point.mylist); point_list.Add(video_list[i].point.CalcScore(ranking_method)); } msgout_.Write("合計: " + point.view + ", " + point.res + ", " + point.mylist + ", " + point.CalcScore(ranking_method) + "\r\n"); if (video_list.Count > 0) { msgout_.Write("平均: " + ((double)point.view / video_list.Count).ToString("0.00") + ", " + ((double)point.res / video_list.Count).ToString("0.00") + ", " + ((double)point.mylist / video_list.Count).ToString("0.00") + ", " + ((double)point.CalcScore(ranking_method) / video_list.Count).ToString("0.00") + "\r\n"); msgout_.Write("中央値: " + CalculateMedian(view_list) + ", " + CalculateMedian(res_list) + ", " + CalculateMedian(mylist_list) + ", " + CalculateMedian(point_list) + "\r\n"); msgout_.Write("最大値: " + view_list[view_list.Count - 1] + ", " + res_list[res_list.Count - 1] + ", " + mylist_list[mylist_list.Count - 1] + ", " + point_list[point_list.Count - 1] + "\r\n"); msgout_.Write("最小値: " + view_list[0] + ", " + res_list[0] + ", " + mylist_list[0] + ", " + point_list[0] + "\r\n"); } }