Maybe it should be ‘public CharacterExportTemplate NameGenerator()’ instead of ‘public string NameGenerator()’.
Trying to bring structs from class, and getting return statement error--Cannot implicitly convert type '' to ''
Hello. I'm trying to pass a struct of strings to another class, and the return statement has the error "Cannot implicitly convert 'DM.RandomNamecharacterGenerator.CharacterexportTemplate' to 'string'" TIA! Windows Forms App (NET Framework) C# namespace DM { public class RandomNameGenerator { public struct CharacterExportTemplate { public string title; public string firstname; public string lastname; } CharacterExportTemplate characterexport = new CharacterExportTemplate(); public string NameGenerator() { Random rnd = new Random(); string Titletemp = ""; string Firstnametemp = ""; string Lastnametemp = ""; characterexport.title = ""; characterexport.firstname = ""; characterexport.lastname = ""; int mf = rnd.Next(2) + 1; // Decide if character is male or female. int no = rnd.Next(10) + 1; // Decide if character is nobility. int nfn = rnd.Next(3) + 1; // Number of first names. if (no != 10) { nfn = 1; } if (mf > 1) // Female { if (no == 10) { int tt = rnd.Next(16); for (int ii = 0; ii < tt; ii++) { Titletemp = ""; Titletemp = Titletemp + Lore.TitlesFemale[ii]; } characterexport.title = characterexport.title + Titletemp + " "; } else { Titletemp = ""; } for (int i = 0; i < nfn; i++) { int fn = rnd.Next(34); for (int iii = 0; iii < fn; iii++) { Firstnametemp = ""; Firstnametemp = Firstnametemp + Lore.FirstNamesFemale[iii]; } characterexport.firstname = characterexport.firstname + Firstnametemp + " "; } } else // Male { if (no == 10) { int tt = rnd.Next(21); for (int ii = 0; ii < tt; ii++) { Titletemp = ""; Titletemp = Titletemp + Lore.TitlesMale[ii]; } characterexport.title = characterexport.title + Titletemp + " "; } else { Titletemp = ""; } for (int i = 0; i < nfn; i++) { int fn = rnd.Next(34); for (int iii = 0; iii < fn; iii++) { Firstnametemp = ""; Firstnametemp = Firstnametemp + Lore.FirstNamesMale[iii]; } characterexport.firstname = characterexport.firstname + Firstnametemp + " "; } } int ln = rnd.Next(52); for (int ii = 0; ii < ln; ii++) { Lastnametemp = ""; Lastnametemp = Lastnametemp + Lore.LastNames[ii]; } characterexport.lastname = characterexport.lastname + Lastnametemp; return characterexport; } } }
Developer technologies Windows Forms
2 additional answers
Sort by: Most helpful
-
William O'Gorm 61 Reputation points
2021-02-25T20:38:50.467+00:00 Here it is with organized code.
namespace DM
{
public class RandomNameGenerator
{
public struct CharacterExportTemplate
{
public string title;
public string firstname;
public string lastname;
}
CharacterExportTemplate characterexport = new CharacterExportTemplate();
public string NameGenerator()
{Random rnd = new Random(); string Titletemp = ""; string Firstnametemp = ""; string Lastnametemp = ""; characterexport.title = ""; characterexport.firstname = ""; characterexport.lastname = ""; int mf = rnd.Next(2) + 1; // Decide if character is male or female. int no = rnd.Next(10) + 1; // Decide if character is nobility. int nfn = rnd.Next(3) + 1; // Number of first names. if (no != 10) { nfn = 1; } if (mf > 1) // Female { if (no == 10) { int tt = rnd.Next(16); for (int ii = 0; ii < tt; ii++) { Titletemp = ""; Titletemp = Titletemp + Lore.TitlesFemale[ii]; } characterexport.title = characterexport.title + Titletemp + " "; } else { Titletemp = ""; } for (int i = 0; i < nfn; i++) { int fn = rnd.Next(34); for (int iii = 0; iii < fn; iii++) { Firstnametemp = ""; Firstnametemp = Firstnametemp + Lore.FirstNamesFemale[iii]; } characterexport.firstname = characterexport.firstname + Firstnametemp + " "; } } else // Male { if (no == 10) { int tt = rnd.Next(21); for (int ii = 0; ii < tt; ii++) { Titletemp = ""; Titletemp = Titletemp + Lore.TitlesMale[ii]; } characterexport.title = characterexport.title + Titletemp + " "; } else { Titletemp = ""; } for (int i = 0; i < nfn; i++) { int fn = rnd.Next(34); for (int iii = 0; iii < fn; iii++) { Firstnametemp = ""; Firstnametemp = Firstnametemp + Lore.FirstNamesMale[iii]; } characterexport.firstname = characterexport.firstname + Firstnametemp + " "; } } int ln = rnd.Next(52); for (int ii = 0; ii < ln; ii++) { Lastnametemp = ""; Lastnametemp = Lastnametemp + Lore.LastNames[ii]; } characterexport.lastname = characterexport.lastname + Lastnametemp; return characterexport; } }
}
-
William O'Gorm 61 Reputation points
2021-02-25T22:02:34.807+00:00 That fixed it! Thanks!