簡體   English   中英

在同一個類中創建一個類的列表?

[英]Creating a List of a class within the same class?

我正在練習 C# 並且只學習了大約一個月。 我有一個問題可能是初學者方面的問題,所以我希望有人不介意為我回答。

我有一個名為 yourCharacter 的類。 在這個類中包含有關某人角色的所有信息。 我想讓用戶能夠創建一個新角色,所以我創建了一個方法/函數來這樣做。 我的問題是,我可以在 yourCharacter 中放置一個函數來創建 yourCharacter 列表嗎? 這是可行的嗎? 這樣做是不好的形式嗎? 我應該在我的 Main 類中創建這個列表,然后在主類中調用一個函數來做到這一點嗎?

我希望我的問題足夠清楚,如果您需要更多詳細信息,請告訴我。 我想這樣做的唯一原因是因為在我的腦海中,將我的方法/函數與它正在操作和/或使用的類進行分組更有意義。

class yourCharacter{

     //insert a bunch of variables here


     public static void newChar(){

          List newCharacter = new List<yourCharacter>();

     }
}

你所擁有的肯定是可行的。

一個類可以包含它自己作為一個成員。 這在某些情況下可能有意義,但請考慮您的情況,看看它是否適用。 在您的情況下,您似乎正在嘗試建立一種對字符進行分組的機制 - 但這不是一個好方法。 為什么? 繼續閱讀...

假設你有一個盒子。 這個盒子里面包含另一個盒子……那個盒子里面可以包含另一個盒子……所以在這種情況下,如果我創建了一個代表這種盒子的類,那么將那個類添加到自身中可能是有意義的。 制作這樣的類代表現實中一個盒子包含其他盒子的系統。

你想抽象什么系統,以便一個字符包含其他字符是有用的? 我能想到一些事情:讓我們想象一下你游戲中的一個角色可以吞下其他角色,而他們會住在他的肚子里......

如果您想將它們分組 - 您可能需要使用另一個類來代表您的角色分組的系統,如下所示:假設您的游戲有一個冒險派對! 冒險派對可以邀請其他人加入,他們一起去尋找。 假設這個冒險派對有一個領導決定誰可以加入,誰不能。 您仍然可能不會創建包含其他字符的字符......您寧願創建一個名為“AdventureGroup”的類,其中包含“普通”黨員和領導者的列表,您將分配一個表示“組昵稱”的字符串”,以及所有其他將群體表示為一個實體的事物。 類似的東西......你明白了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM