I get told I cannot convert From System generic List to a List of the Exact same type:
public JsonResult People()
{
var test = new List<People>();
var page = "";
var pageNumber = "1";
SharpEntityResults<People> results = null;
while (page != "" || page != null)
{
results = starCore.GetAllPeople(pageNumber);
List<People> x = results.results;
test.Add(x);
}
public class People : SharpEntity
public SharpEntityResults<People> GetAllPeople(string pageNumber = "1")
{
SharpEntityResults<People> result = GetAllPaginated<People>("/people/", pageNumber);
return result;
}
Not sure why I cant add to my test List when both are of the same type
The Error States:
cannot convert from System.Collections.Generic>List<ProjectName.Entitites.People> to Projectname.Entitites.People
CodePudding user response:
test
is a List<People>
and x
is also a List<People>
, so you are trying to add a list to a list. Try to use AddRange
instead.
This way you will add all items from x
to the list test
.
CodePudding user response:
You've a mistake in your code.
List<People> x
holds objects of type People
, if you want to store x in test you need it to be of type List<List<People>>
or List<IEnumerable<People>>
if you want to add content of x to test you can do test.AddRange(x)
this will put / add content of X to the list of Test.
Examples of how to fix this with left hand type declaration for clarity.
For Storing Content of X in Test:
public JsonResult People()
{
List<People> test = new List<People>();
var page = "";
var pageNumber = "1";
SharpEntityResults<People> results = null;
while (page != "" || page != null)
{
results = starCore.GetAllPeople(pageNumber);
List<People> x = results.results;
test.AddRange(x);
}
If you want to store Lists then your code will look like this.
public JsonResult People()
{
List<IEnumerable<People>> test = new List<List<People>>();
var page = "";
var pageNumber = "1";
SharpEntityResults<People> results = null;
while (page != "" || page != null)
{
results = starCore.GetAllPeople(pageNumber);
List<People> x = results.results;
test.Add(x);
}
In that case you'll have for each entry a List