夥計。 如何從另一個文件中的列表中獲取數據?我嘗試這種方式,但它不工作: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