Solved

Working with List in Structure c#

Posted on 2009-05-10
5
2,048 Views
Last Modified: 2012-05-08
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

0
Comment
Question by:Pit76
  • 2
  • 2
5 Comments
 
LVL 7

Expert Comment

by:zwei
ID: 24349811
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
 
LVL 7

Accepted Solution

by:
zwei earned 500 total points
ID: 24349819
oops I meant
new List<structWoords>();

Open in new window

0
 

Author Comment

by:Pit76
ID: 24350044
where do i need to put that line of code then?
0
 

Author Closing Comment

by:Pit76
ID: 31656982
Thx, I found where to put that line of code.. :)

0
 
LVL 6

Expert Comment

by:Cebik
ID: 24350106

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

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Question! 4 38
Jquery/JSON passing value from one function to another 12 60
C# bracket error 3 35
C# MVC Insert Multiple Row into DB 2 30
Article by: Najam
Having new technologies does not mean they will completely replace old components.  Recently I had to create WCF that will be called by VB6 component.  Here I will describe what steps one should follow while doing so, please feel free to post any qu…
This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question