im having problems with importing a List(T) method that add all the data to a List. I need to call it in main and full my list with the data, but always get error like this...
Error CS0029 Cannot implicitly convert type 'System.Collections.Generic.List<mylib.myclass>' to 'mylib.myclass'
There is a better way to do it or can i edit this code to success import?
public static EstatisticasEquipas InserirEstatisticasEquipas(List<EstatisticasEquipas> listEstatisticaEquipas, List<Equipa> listEquipas, List<Jogos> listJogos)
{
List<EstatisticasEquipas> listEstatisticaEquipa = new List<EstatisticasEquipas>();
foreach (Equipa equipa in listEquipas)
{
foreach (Jogos jogo in listJogos)
{
// DO SOMETHING...
}
}
Return listEstatisticaEquipas
static void Main(string[] args)
{
List<Jogos> listJogos = new List<Jogos>();
listJogos = InserirJogos();
List<Equipa> listEquipas = new List<Equipa>();
listEquipas = InserirEquipas(listJogos);
List<EstatisticasEquipas> listEstatisticaEquipas = new List<EstatisticasEquipas>();
listEstatisticaEquipas = EstatisticasEquipas.InserirEstatisticasEquipas(listEstatisticaEquipas, listEquipas, listJogos);
As Broots already mentioned the function signature for InserirEstatisticasEquipas
requires that you return a single instance of EstatisticasEquipas
, but the variable that you attempt to return is actually a List<EstatisticasEquipas>
.
How you want to solve it depends on what you're trying to achieve, but the code in your main program indicates that you actually want a list, so you can simply change the return type of the function like so:
public static List<EstatisticasEquipas> InserirEstatisticasEquipas(List<EstatisticasEquipas> listEstatisticaEquipas, List<Equipa> listEquipas, List<Jogos> listJogos)
Always make sure that your function returns the type that you set in its signature.
Most IDE's will help you find errors like that, if you're not already using one I suggest downloading Visual Studio Code or some other IDE and installing the language extension for C#.