BinarySearch
今天看代码,看到这么一段,开始没有看明白,记录下来备忘
foreach (FinancialReport r3 in addAorList)
{
int pos = financialReports.BinarySearch(r3);
financialReports.Insert(~pos, r3);
}
开始的时候我是不明白在int前面加个~,变成了什么,BinarySearch从字面上面理解那就是查找,为什么后面还存入呐,疑惑了一下,在MSDN上面找到答案。
~pos的意思是取pos的补,而BinarySearch当查找不到的时候会返回负数,这个负数取补后正好是要插入的位置,这句话的意思就是把addAorList中的值按顺序
插入到financialReports中。BinarySearch用法可以在http://msdn.microsoft.com/en-us/library/w4e7fxsh.aspx中查到。