假设有个类叫Record,有int id, decimal Money, DateTime submitdate 这3个字段
现在有个record的集合,要求插入新的record对象时,submitdate 比较大的在前面
一般会考虑到的是
先排序,再插入
但如果 我要操作10次,每天插1次过几天又操作一次 这样就无法先排序了。
这时我们可以使用sortedlist 这个sortedlist是什么样的?
定义为SortedList<DateTime, Record>
然后,现在需求小改了下,除了要根据submittime排序,如果这个time一样的话,就根据money排序
现在这里我们就可以使用Tuple了。SortedList<Tuple<DateTime, decimal>, Record>
因为Tuple<T1,T2>的default comparer 默认就是分别用t1的default comparer和t2的default comparer去比较
现在有个record的集合,要求插入新的record对象时,submitdate 比较大的在前面
一般会考虑到的是
先排序,再插入
但如果 我要操作10次,每天插1次过几天又操作一次 这样就无法先排序了。
这时我们可以使用sortedlist 这个sortedlist是什么样的?
定义为SortedList<DateTime, Record>
然后,现在需求小改了下,除了要根据submittime排序,如果这个time一样的话,就根据money排序
现在这里我们就可以使用Tuple了。SortedList<Tuple<DateTime, decimal>, Record>
因为Tuple<T1,T2>的default comparer 默认就是分别用t1的default comparer和t2的default comparer去比较
注意:用tuple做key性能低 不如自己comparer快
如果最开始就有comparer,那么改comparer是很简单的
如果最开始没有
要写一个
就不如tuple方便了。
如果最开始没有
要写一个
就不如tuple方便了。
在你需要将2个“东西”合在一起处理(例如比较,返回等等)而你又不愿意单独为这个2个东西去写一个类来包含这个2个东西时,用tuple