C# 在同一类中创建类的列表?

C# 在同一类中创建类的列表?,c#,list,class,methods,C#,List,Class,Methods,我正在练习C#,只学了大约一个月。我有一个问题可能是初学者的问题,所以我希望有人不介意为我回答 我有一门课叫yourCharacter。在这个类中,包含了某人角色的所有信息。我想让用户能够创建一个新角色,因此我创建了一个方法/函数来实现这一点。我的问题是,我可以在你的角色中放置一个函数来创建你的角色列表吗。这可行吗?这样做不好吗?我应该在我的主类中创建这个列表,然后在主类中调用一个函数来完成这个任务吗 我希望我的问题足够清楚,如果你需要进一步的细节,请告诉我。我想这样做的唯一原因是,在我看来,将

我正在练习C#,只学了大约一个月。我有一个问题可能是初学者的问题,所以我希望有人不介意为我回答

我有一门课叫yourCharacter。在这个类中,包含了某人角色的所有信息。我想让用户能够创建一个新角色,因此我创建了一个方法/函数来实现这一点。我的问题是,我可以在你的角色中放置一个函数来创建你的角色列表吗。这可行吗?这样做不好吗?我应该在我的主类中创建这个列表,然后在主类中调用一个函数来完成这个任务吗

我希望我的问题足够清楚,如果你需要进一步的细节,请告诉我。我想这样做的唯一原因是,在我看来,将我的方法/函数与它正在操作和/或使用的类组合在一起更有意义

class yourCharacter{

     //insert a bunch of variables here


     public static void newChar(){

          List newCharacter = new List<yourCharacter>();

     }
}
给你的角色分类{
//在这里插入一组变量
公共静态void newChar(){
List newCharacter=newlist();
}
}

你所拥有的肯定是可行的

类可以将自身包含为成员。这在某些情况下可能是有道理的,但想想你的,看看它是否适用。在您的情况下,似乎您正在尝试建立一种机制来对角色进行分组,但这不是一种好方法。为什么?继续读

假设你有一个盒子。这个盒子里还有一个盒子。。。那个盒子里面可能还有另一个盒子。。。 因此,在这种情况下,如果我创建了一个表示这种盒子的类,那么将该类添加到自身中可能是有意义的。 这样创建一个类实际上代表了一个系统,其中一个框包含其他框

您试图抽象什么系统,以便一个字符包含其他字符是有用的? 我能想到一件事:让我们想象你游戏中的一个角色可以吞下其他角色,他们将生活在他的肚子里

如果要对它们进行分组,则可能需要使用另一个类,该类表示字符分组所依据的系统,如下所示:
说你的游戏有一个冒险派对!探险队可以邀请其他人加入,他们一起去探索。让我们假设这个冒险派对有一个领导者来决定谁可以加入,谁不能。你仍然可能不会制作一个包含其他字符的字符。。。您更愿意创建一个名为“AdventureGroup”的类,其中包含“普通”党员和领导者的列表,您可以指定一个表示“组昵称”的字符串,以及所有其他类型的表示组作为实体的内容。像这样的事。。。你得到了jist。

问问自己:为什么一个角色需要所有角色的列表?当你创建2个角色时,你会得到2个列表…3个角色,3个列表,等等。听起来像是其他实体应该管理角色列表。谢谢Johnny,这完全有道理!所以,如果我在main中创建它,然后从main中操作它,我将只有1个列表,而不是用多个列表填充RAM。有道理!我很感激你的回答!我不同意@johnymapp。。。。这很正常,我一直在创建树型数据结构和递归逻辑。我一直在用它来创建树,我不知道这些树的所有“分支”和每个分支的“深度”。。。如果我是你,我会研究递归。