C#-Liste<> mit benutzerdefinierter Klasse gibt null zurück [geschlossen]C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 C#-Liste<> mit benutzerdefinierter Klasse gibt null zurück [geschlossen]

Post by Anonymous »

Ich entwickle ein Spiel in Unity und bin auf ein Problem gestoßen.
Ich hole Daten aus einer Datei und möchte sie in einer Liste mit meinen eigenen Klassenwörtern speichern.

Code: Select all

public class Words
{
private readonly string _myWord;
private readonly int _damage;

public Words()
{
_myWord = "";
_damage = 0;
}

public Words(string word, int damage)
{
_myWord = word;
_damage = damage;
}

public override string ToString()
{
return _myWord + ":" + _damage + "\n";
}
}
Ich lade die Daten und speichere sie im Objekt meiner benutzerdefinierten Klasse

Code: Select all

using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Net;
using UnityEditor;

using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.Serialization;

public class WorkingWithTextFiles : MonoBehaviour
{
[SerializeField] private TextAsset myFile;
private List _wordsList;
[SerializeField] private string _seperatorParts;
[SerializeField] private string _seperatorEndOfLine;

// Start is called before the first frame update
private void Start()
{
try
{
var textFromFile = myFile.ToString(); //gets contents of file
var numberOfWords = int.Parse(textFromFile.Split("\n")[0]) ; //returns number of words - given in file on first line
textFromFile = textFromFile.Remove(0,3); //deletes number and /n

var word = textFromFile.Split(_seperatorParts)[0]; //gets only the word
textFromFile = textFromFile.Remove(0, word.Length + 1); //removes the word + separator
var damage = textFromFile.Split(_seperatorEndOfLine)[0]; //gets only the damage
textFromFile = textFromFile.Remove(0, damage.Length + 3); //removes the damage + separator + \n

var givenWord = new Words(word, int.Parse(damage));

_wordsList.Add(new Words(word, int.Parse(damage)));
//Debug.Log(_wordsList.Count);
Debug.Log(_wordsList.ToString());

}
catch (Exception e)
{
Debug.Log(e);
}

}

}

Ich entnehme Daten aus einer Datei und speichere sie in Word und Damage. Dann mache ich aus ihnen ein gegebenes Wort. Sie lassen sich gut speichern und beim Drucken kehren sie einwandfrei zurück.
Andererseits ist die _wordsList null.
Sie ist null, wenn ich ihre Größe ausdrucke, und sie ist null, wenn ich sie mit Debug.Log ausdrucke.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post