【发布时间】:2017-09-20 23:14:30
【问题描述】:
我想知道一种将类中的变量分配给另一个类中的列表的方法。我有以下代码,所以
public class Names
{
public int ID { get; set; }
public string Name { get; set; }
}
class Program
{
static void Main(string[] args)
{
var playerNames = new List<Names>();
playerNames = getPlayerList(ref totalPlayers);
//??
}
}
totalPlayers 是来自另一段代码的用户输入整数。
getPlayerList 是一段代码,它要求用户输入一些名称,然后使用for 循环将其分配给Names 类中的Name'。
到目前为止一切正常,我只想知道如何将Names 类的Name 中的变量分配给Main 中的列表。
现在我将所有变量分配给字符串,然后将这些字符串添加到列表中,但这最终会导致大量浪费代码。
string player1 = playerNames[0].Name, player2 = playerNames[1].Name;
// and so on
List<string> players = new List<string>();
players.Add(player1);
players.Add(player2); // and so on
提前致谢。
【问题讨论】:
-
你知道loop是什么吗?
-
不清楚你需要什么样的答案。显而易见的答案是
players.AddRange(playerNames.Select(p => p.Name));,它将Name属性值作为单个对象引用复制到players列表。但是,你没有提供一个很好的minimal reproducible example 来展示真实的代码,而且还不清楚你到底遇到了什么困难。给你一行代码不一定是你想要或需要的。请澄清您的问题并加以改进。另请参阅How to Ask,了解有关以清晰、可回答的方式提出问题的建议。 -
您的代码无法编译 -
totalPlayers是什么?如果您将playerNames分配给调用getPlayerList的结果,则无需在声明时创建一个新的空List。