我已经让自己成为了一个RSS阅读器,它让我保持最新状态,并告诉我新的节目,或者至少是这背后的想法.
我制作了一个结构"SeasonEpisode",它包含两个整数(季节+剧集)和一个覆盖ToString函数.
我存储了本地最新观看的内容,然后我阅读了最新版本来自rss的内容.但是我如何比较SeasonEpisodes呢?现在我采取每个整数并比较它们
if( se1.Season >= se2.Season )
if( se1.Episode > se2.Episode || se1.Season > se2.Season )
// new episode!
Run Code Online (Sandbox Code Playgroud)
我真正想要的是
if( se1 > se2 )
// new episode
Run Code Online (Sandbox Code Playgroud)
我可以得到任何帮助吗?
Dan*_*rth 30
有两种方法:
IComparable<T>和使用CompareTo我建议你用两种方式:
public class SeasonEpisode : IComparable<SeasonEpisode>
{
public int CompareTo(SeasonEpisode other)
{
if(other == null)
return 1;
if(Season == other.Season)
{
if(Episode == other.Episode)
return 0;
else if(Episode < other.Episode)
return -1;
else
return 1;
}
else if(Season < other.Season)
return -1;
else
return 1;
}
public static bool operator <(SeasonEpisode e1, SeasonEpisode e2)
{
return e1.CompareTo(e2) < 0;
}
public static bool operator >(SeasonEpisode e1, SeasonEpisode e2)
{
return e1.CompareTo(e2) > 0;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6694 次 |
| 最近记录: |