[程式] Unity遇到List初始化器就閃退?
看板GameDesign (遊戲設計)作者berice152233 (WASHI)時間5年前 (2019/12/03 14:46)推噓5(5推 0噓 4→)留言9則, 5人參與討論串1/2 (看更多)
各位學長好
最近在寫Unity的時候發現一個問題
只要我用List初始化器去設定類別的屬性欄位
並在建立物件時就會閃退
例如:
public List<Duck> ducks = new List<Duck>()
{
new Duck() { Kind = KindOfDuck.Decoy, Size = 17 },
};
Visual Studio裡面也沒出現錯誤
(把初始化器的內容刪除就不會閃退)
但是如果是下面這種用法就又不會閃退
public List<string> Test = new List<string>()
{
"100",
"200",
};
如下例,單純C#可以執行
但掛在Unity底下就會導致整個Unity閃退
https://dotnetfiddle.net/QbNFrt
請問這是Unity的限制還是個案呢?
不能用初始化器感覺好麻煩
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.125.120.238 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1575355606.A.238.html
→
12/03 19:11,
5年前
, 1F
12/03 19:11, 1F
[SerializeField]是用在屬性嗎?
如果是的話我用了一樣會閃退
推
12/03 20:37,
5年前
, 2F
12/03 20:37, 2F
→
12/03 21:54,
5年前
, 3F
12/03 21:54, 3F
原本以為是電腦的問題
回家嘗試了之後發現一樣也閃退
好奇怪啊...
※ 編輯: berice152233 (106.105.207.206 臺灣), 12/03/2019 22:05:54
推
12/03 22:27,
5年前
, 4F
12/03 22:27, 4F
→
12/03 22:27,
5年前
, 5F
12/03 22:27, 5F
有!
寫好建構子之後,在List初始化器中
new Duck(KindOfDuck.Decoy,17),
這樣也是會閃退
大家的Unity都沒這個問題嗎?
※ 編輯: berice152233 (106.105.207.206 臺灣), 12/03/2019 22:49:28
以下是我弄來重現問題的程式
https://imgur.com/hT1pRsD
結果發現這樣的錯誤碼
StackOverflowException: The requested operation caused a stack overflow.
但還是搞不懂原因
※ 編輯: berice152233 (106.105.207.206 臺灣), 12/03/2019 23:02:03
推
12/03 23:06,
5年前
, 6F
12/03 23:06, 6F
推
12/03 23:14,
5年前
, 7F
12/03 23:14, 7F
→
12/03 23:14,
5年前
, 8F
12/03 23:14, 8F
啊!非常感謝
我真的是犯了一個很基礎的錯誤
※ 編輯: berice152233 (106.105.207.206 臺灣), 12/03/2019 23:25:52
推
12/04 01:07,
5年前
, 9F
12/04 01:07, 9F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
GameDesign 近期熱門文章
PTT遊戲區 即時熱門文章