Ich habe eine Struktur von Mitarbeiterdaten und es 2 getrennte Felder von Vorname und Nachname. Ich möchte dieses Array nach Vornamen sortieren und im Fall von 2 Namen sind sie gleich und sortieren sie nach Nachnamen. Ich habe das Array bereits nach dem Vornamen sortiert, kann es aber immer noch nicht mit dem Nachnamen tun, wenn 2 Vornamen gleich sind. Ich möchte diese Art implementieren, ohne eingebaute Funktionen in .NET wie array.sort() zu verwenden, ich möchte nur Schleifen verwenden.C# - Array der Struktur ohne Verwendung einer eingebauten Funktion zu sortieren, nur mit Schleifen
public struct EmployeeData
{
public char sex;
public int age;
public int id1;
public int id2;
public int id3;
public string fname;
public string lname;
public int seniority;
}
static EmployeeData[] SortByFirstName(EmployeeData[] empdata)
{
int min = 0;
EmployeeData temp;
for (int i = 0; i < empdata.Length; i++)
{
for (int j = i+1; j < empdata.Length; j++)
{
if (empdata[i].fname.Length < empdata[j].fname.Length)
{
min = empdata[i].fname.Length;
}
else
{
min = empdata[j].fname.Length;
}
for (int k = 0; k < min; k++)
{
if (empdata[i].fname[k] > empdata[j].fname[k])
{
temp = empdata[i];
empdata[i] = empdata[j];
empdata[j] = temp;
break;
}
else if (empdata[i].fname[k] == empdata[j].fname[k])
{
continue;
}
else
{
break;
}
}
}
}
return empdata;
}
hat für Sie meine Lösung? –