Working with List in Structure c#

Hello,

I have 2 structures, (example) 1 called Woords and the other one called Sentence.
Sentence contains nothing more then a List<> of Woords.

Now when I try to add Woords to the List on Sentence it says "NullReferenceException". Now I can understand that I need to create a New List before adding any items to it, but can't figure out how to do it with the structs.
See sample code below:

thx


// my structs
public struct structWoords
       {
           public string woord1;
           public string woord2;
       }
 
       public struct structSentence
       {
         public List<structWoords> woords ; 
       }
 
//code
Structs.structWoords myWords;
            myTest.woord1 = textBox1.Text;
            myTest.woord2 = textBox2.Text;
 
            Structs.structSentence mySentence = new Structs.structSentence();
            mySentence.woords.Add(myWords); // error happens here
 
//  I think the problem is that I don't make a new List but don't know how to do it with the struct...

Open in new window

Pit76Asked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
zweiConnect With a Mentor Software DeveloperCommented:
oops I meant
new List<structWoords>();

Open in new window

0
 
zweiSoftware DeveloperCommented:
You can't initialize variables in a struct, as far as I know.  You'll have to do it outside the struct:


mySentence.woords = new List<string>();

Open in new window

0
 
Pit76Author Commented:
where do i need to put that line of code then?
0
 
Pit76Author Commented:
Thx, I found where to put that line of code.. :)

0
 
CebikCommented:

public struct structSentence
{
    public List<structWoords> woords; //cannot have instance field initializers in structs
}
 
public class structSentence2
{
    public List<structWoords> woords = new List<structWoords>();
}
 
//Code
structSentence mystruct = new structSentence();
mystruct.woords = new List<structWoords>();
(..)
 
//or
structSentence2 mystruct2 = new structSentence2();

Open in new window

0
All Courses

From novice to tech pro — start learning today.