Hur ska man tilldela värdet på en variabel till en klass och sedan sortera efter den varabeln?
Jag ska skapa program där man kan skriva in uppgifter om olika säljare (Namn, Personnummer, Geografiskt distrikt de arbetar i och hur många artiklar de har sålt). Programmet ska sedan sortera olika säljare baserat på hur mycket artiklar de har sålt. Jag hittar ingen lösning på hur jag ska tilldela värdet på antalet artiklar från tbxAntalSåldaArtiklar till själva listan så att den sedan kan sorteras. Hur ska jag göra?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Reflection.Emit;
using System.Runtime.ExceptionServices;
using System.Runtime.InteropServices;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel;
namespace Inlämmningsuppgift_2
{
public partial class Form1 : Form
{
List<Säljare> säljare = new List<Säljare>();
string namn = "";
string personnummer = "";
string distrikt = "";
int[] artiklar;
public Form1()
{
InitializeComponent();
}
public int Artiklar { get; private set; }
private void btnLäsIn_Click(object sender, EventArgs e)
{
string namn = tbxNamn.Text;// Gör om texten i tbxNamn till en string med namnet.
string personnummer = tbxPersonnummer.Text;// Gör om värdet i tbxPersonummer till en string som består av personnummret.
string distrikt = tbxDistrikt.Text; //Gör om texten i TbxDistrikt till en string med namnet på distriktet.
int artiklar2 = int.Parse(tbxAntalSåldaArtilkar.Text); // Gör om texten i tbxAntalSåldaArtilkar till ett heltal som kan användas.
Säljare.Add(Artiklar += artiklar2);
}
private void btnSkrivUT_Click(object sender, EventArgs e)
{
List<Säljare> säljare = new List<Säljare>();
//Sortera
SorteraInfogade(artiklar);
lbxResultat.Text = " Namn:" + "\n" + "Persnr:" + "\n" + "Distrikt:" + "\n" + "Antal:";
säljare.ElementAt(0);
for ( int i = 0; i > 0; i++ )
{
lbxResultat.Text = namn + "\n" + personnummer.ToString() + "\n" + distrikt + "\n" + artiklar[i];
}
}
void SorteraInfogade(int[] artiklar) //kod för att sortera listan efter antalet sålda artiklar.
{
int i, n;
int length = artiklar.Length; if (length < 2) return;
int temp;
for (n = 1; n < length; n++)
{
temp = artiklar[n];
i = n - 1;
while (i >= 0 && artiklar[i] > temp)
{
artiklar[i + 1] = artiklar[i];
i--;
}
artiklar[i + 1] = temp;
}
}
class Säljare //Det är här som datan för alla säljare largras.
{
private string namn = "";
private string personnummer = "";
private string distrikt = "";
private int artiklar = 0;
public Säljare ( string namn, string personnummer, string distrikt, int artiklar) // En class där säljarens variabler anges och vad de beror på.
{
Namn = namn;
Personnummer = personnummer;
Distrikt = distrikt;
Artiklar = artiklar;
}
public string Namn // En public string så så att Namn alltid finns tillgängligt och detsamma gäller för public string Personnummer, public string Distrikt och public int Artiklar
{
get { return namn; }
set { namn = value; }
}
public string Personnummer
{
get { return Personnummer; }
set { personnummer = value; }
}
public string Distrikt
{
get { return distrikt; }
set { distrikt = value; }
}
public int Artiklar
{
get { return Artiklar; }
set
{
if (value > 0 ) { Artiklar = value; }
}
}
}
}
}