日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UNITY 中List.Sort的BUG

發布時間:2025/3/18 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UNITY 中List.Sort的BUG 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

UNITY 中List.Sort的BUG

List<int> lst = new List<int>();lst.Add(202);lst.Add(20);lst.Add(40);lst.Add(230);lst.Add(220);lst.Add(240);lst.Sort((m1, m2) =>{return m1 > m2 ? 1 : -1;});


如上這段排序代碼,在VS2015控制臺程序下運行,排序完全正確。

然而放在UNITY的Start()函數中運行,排序只排了前兩個元素。

原因竟然是UNTIY 的BUG:排序函數必須返回 1,0,-1三種情況,只返回兩種情況則排序不正確。

然而普通C#控制臺程序是沒有問題的,可見UNITY有多坑。

保證UNITY上排序正確的寫法如下:

void Start () {List<int> lst = new List<int>();lst.Add(202);lst.Add(20);lst.Add(40);lst.Add(230);lst.Add(220);lst.Add(240);lst.Sort((m1, m2) =>{if (m1 > m2)return 1;if (m1 < m2)return -1;return 0;

         //return m1.CompareTo(m2); //或者這樣寫

});}

?

posted on 2017-06-06 18:21 時空觀察者9號 閱讀(...) 評論(...) 編輯 收藏

總結

以上是生活随笔為你收集整理的UNITY 中List.Sort的BUG的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。