以下工作精細分選三列這是DateTime和字符串如何在lambda表達式中對long或int數據類型進行排序?
data = new List<WorkItem<object>>(rows);
//....Add items to list
data.Sort((x, y) =>
{
int result = DateTime.Compare((DateTime)x.Column1, (DateTime)y.Column1);
if (result == 0)
result = string.Compare((string)x.Column2, (string)y.Column2);
if (result == 0)
result = string.Compare((string)x.Column3, (string)y.Column3);
return result;
});
我怎麼能還包括在lambda表達式排序long和int數據類型的排序?
下面給出了一個'long' does not contain a definition for 'Compare'
data.Sort((x, y) =>
{
int result = DateTime.Compare((DateTime)x.Column1, (DateTime)y.Column1);
if (result == 0)
result = string.Compare((string)x.Column2, (string)y.Column2);
if (result == 0)
result = string.Compare((string)x.Column3, (string)y.Column3);
if (result == 0)
result = long.Compare((long)x.Column15, (long)y.Column15);
return result;
});
列是泛型類型牛逼
@xanatos爲什麼你會把它轉換爲int如果值很長? – BVintila
嘗試編譯它。 'result'是一個'int' ...我甚至不確定這樣做是個好主意......等等......這顯然是錯誤的......請參閱https:// ideone。例如com/Fpvwiv。 – xanatos
你對int的結果是正確的,所以不會像那樣工作。謝謝。編輯答案。這應該現在工作。 – BVintila