伙计。 如何从另一个文件中的列表中获取数据?我尝试这种方式,但它不工作:C#列表变量
CharacterController.cs
public class CharacterController
{
public static List<Character> Characters { get; set; }
public static async Task LoadCharacterData(Client player)
{
var filter = new BsonDocument("NameOfTable", player.Name);
var characters = await DatabaseManager.Characters.Find(filter).ToListAsync();
List<Character> Characters = new List<Character>();
foreach (var character in characters)
{
Characters.Add(new Character
{
Name = character.Name,
Surname = character.Surname
}
);
}
Console.WriteLine("TEST: " + Characters[0].Name + Characters[0].Surname); //It's working
}
在另一个文件中:
public void OnPlayerDownloaded(Client player)
{
CharacterController.LoadCharacterData(player);
Console.WriteLine("TEST: " + CharacterController.Characters[0].Name + CharacterController.Characters[0].Surname); // It's don't working
}
你能更具体地说明“它不工作”的含义吗? - 我怀疑你得到一个空引用异常,因为'LoadCharacterData'没有初始化'Characters'(注意它是一个异步方法)。在这种情况下,您可以成功访问另一个文件中定义的字段。顺便说一句,'List'不是线程安全的。 –
Theraot
对,对不起。我有错误: System.NullReferenceException:对象引用不指向对象的一个实例。 你说得对。 也许你会建议如何最好地重拍? – Joseph