0
public struct Säljare
{
public String Namn;
public String Personnummer;
public String Distrikt;
public int AntalArtiklar;
public string NAMN
{
get { return Namn; }
set { Namn = value; }
}
public string PERSONNUMMER
{
get { return this.Personnummer; }
set { this.Personnummer = value; }
}
public string DISTRIKT
{
get { return Distrikt; }
set { Distrikt = value; }
}
public int ANTALARTIKLAR
{
get { return AntalArtiklar; }
set { AntalArtiklar = value; }
}
public int NIVA1
{
get
{
if (this.AntalArtiklar > 199) return 4;
if (this.AntalArtiklar > 99) return 3;
if (this.AntalArtiklar > 49) return 2;
if (this.AntalArtiklar > 1) return 1;
else return 0;
}
}
public Säljare(string Namn1, string Personnummer1, string Distrikt1, int AntalArtiklar1)
{
this.Namn = Namn1;
this.Personnummer = Personnummer1;
this.Distrikt = Distrikt1;
this.AntalArtiklar = AntalArtiklar1;
}
public void SkrivUtInfo()
{
Console.WriteLine("Namn = {0} && Personnummer = {1} && Distrikt = {2} && AntalArtiklar = {3}", this.Namn, this.Personnummer, this.Distrikt, this.AntalArtiklar);
}
}
class Program
{
static void Main(string[] args)
{
{
List<Säljare> salesmen = new List<Säljare>();
var nivaMax = 0;
Console.WriteLine("Var Vänlig och skriv in info för säljaren (1,Namn (enter),2, persnr (enter),3, Distrikt(enter),4, AntalArtiklar (enter), 5,Niva 1-4(enter)");
var saljare6 = new Säljare(Console.ReadLine(), Console.ReadLine(), Console.ReadLine(), Convert.ToInt32(Console.ReadLine()));
Console.WriteLine("Var Vänlig och skriv in info för säljaren (1,Namn (enter),2, persnr (enter),3, Distrikt(enter),4, AntalArtiklar (enter), 5,Niva 1-4(enter)");
var saljare1 = new Säljare(Console.ReadLine(), Console.ReadLine(), Console.ReadLine(), Convert.ToInt32(Console.ReadLine()));
Console.WriteLine("Var Vänlig och skriv in info för säljaren (1,Namn (enter),2, persnr (enter),3, Distrikt(enter),4, AntalArtiklar (enter), 5,Niva 1-4(enter)");
var saljare2 = new Säljare(Console.ReadLine(), Console.ReadLine(), Console.ReadLine(), Convert.ToInt32(Console.ReadLine()));
Console.WriteLine("Var Vänlig och skriv in info för säljaren (1,Namn (enter),2, persnr (enter),3, Distrikt(enter),4, AntalArtiklar (enter), 5,Niva 1-4(enter)");
var saljare3 = new Säljare(Console.ReadLine(), Console.ReadLine(), Console.ReadLine(), Convert.ToInt32(Console.ReadLine()));
Console.WriteLine("Var Vänlig och skriv in info för säljaren (1,Namn (enter),2, persnr (enter),3, Distrikt(enter),4, AntalArtiklar (enter), 5,Niva 1-4(enter)");
var saljare4 = new Säljare(Console.ReadLine(), Console.ReadLine(), Console.ReadLine(), Convert.ToInt32(Console.ReadLine()));
Console.WriteLine("Var Vänlig och skriv in info för säljaren (1,Namn (enter),2, persnr (enter),3, Distrikt(enter),4, AntalArtiklar (enter), 5,Niva 1-4(enter)");
var saljare5 = new Säljare(Console.ReadLine(), Console.ReadLine(), Console.ReadLine(), Convert.ToInt32(Console.ReadLine()));
var saljare = new Säljare();
var Niva = saljare.NIVA1;
nivaMax = Math.Max(nivaMax, Niva);
salesmen.Add(saljare1);
salesmen.Add(saljare2);
salesmen.Add(saljare3);
salesmen.Add(saljare4);
salesmen.Add(saljare5);
salesmen.Add(saljare6);
for (int level = 0; level < 4; level++)
{
var salesmenAtLevel = 1;
foreach (Säljare saljaren in salesmen)
{
if (saljare1.NIVA1 == level)
{
salesmenAtLevel++;
}
}
if (salesmenAtLevel > 0)
{
Console.WriteLine("Namn = {0} && Personnummer = {1} && Distrikt = {2} && AntalArtiklar = {3}", saljare1.NAMN, saljare1.PERSONNUMMER, saljare1.DISTRIKT, saljare1.ANTALARTIKLAR);
Console.WriteLine("{0} salesmen have reached nivå {1}", salesmenAtLevel, saljare1.NIVA1);
Console.WriteLine("---------------SUMMARY--------------");
}
for (int level1 = 1; level1 < 4; level1++)
{
var salesmenAtLevel1 = 1;
foreach (Säljare saljaren in salesmen)
if (saljare2.NIVA1 == level1)
{
salesmenAtLevel1++;
}
if (salesmenAtLevel1 > 0)
Console.WriteLine("Namn = {0} && Personnummer = {1} && Distrikt = {2} && AntalArtiklar = {3}", saljare2.NAMN, saljare2.PERSONNUMMER, saljare2.DISTRIKT, saljare2.ANTALARTIKLAR);
Console.WriteLine("{0} salesmen have reached nivå {1}", salesmenAtLevel1, saljare2.NIVA1);
Console.WriteLine("---------------SUMMARY--------------");
}
for (int level2 = 0; level2 < 4; level2++)
{
var salesmenAtLevel2 = 1;
foreach (Säljare saljaren in salesmen)
if (saljare3.NIVA1 == level2)
{
salesmenAtLevel2++;
}
if (salesmenAtLevel2 > 0)
{
Console.WriteLine("Namn = {0} && Personnummer = {1} && Distrikt = {2} && AntalArtiklar = {3}", saljare3.NAMN, saljare3.PERSONNUMMER, saljare3.DISTRIKT, saljare3.ANTALARTIKLAR);
Console.WriteLine("{0} salesmen have reached nivå {1}", salesmenAtLevel2, saljare3.NIVA1);
Console.WriteLine("---------------SUMMARY--------------");
}
for (int level3 = 0; level3 < 4; level3++)
{
var salesmenAtLevel3 = 1;
foreach (Säljare saljaren in salesmen)
{
if (saljare4.NIVA1 == level3)
{
salesmenAtLevel3++;
}
}
if (salesmenAtLevel3 > 0)
{
Console.WriteLine("Namn = {0} && Personnummer = {1} && Distrikt = {2} && AntalArtiklar = {3}", saljare4.NAMN, saljare4.PERSONNUMMER, saljare4.DISTRIKT, saljare4.ANTALARTIKLAR);
Console.WriteLine("{0} salesmen have reached nivå {1}", salesmenAtLevel3, saljare4.NIVA1);
Console.WriteLine("---------------SUMMARY--------------");
}
for (int level4 = 0; level4 < 4; level4++)
{
var salesmenAtLevel4 = 1;
foreach (Säljare saljaren in salesmen)
{
if (saljare5.NIVA1 == level4)
{
salesmenAtLevel4++;
}
}
if (salesmenAtLevel4 > 0)
{
Console.WriteLine("Namn = {0} && Personnummer = {1} && Distrikt = {2} && AntalArtiklar = {3}", saljare5.NAMN, saljare5.PERSONNUMMER, saljare5.DISTRIKT, saljare5.ANTALARTIKLAR);
Console.WriteLine("{0} salesmen have reached nivå {1}", salesmenAtLevel4, saljare5.NIVA1);
Console.WriteLine("---------------SUMMARY--------------");
}
for (int level5 = 0; level5 < 4; level5++)
{
var salesmenAtLevel5 = 1;
foreach (Säljare saljaren in salesmen)
{
if (saljare6.NIVA1 == level5)
{
salesmenAtLevel5++;
}
}
if (salesmenAtLevel5 > 0)
{
Console.WriteLine("Namn = {0} && Personnummer = {1} && Distrikt = {2} && AntalArtiklar = {3}", saljare6.NAMN, saljare6.PERSONNUMMER, saljare6.DISTRIKT, saljare6.ANTALARTIKLAR);
Console.WriteLine("{0} salesmen have reached nivå {1}", salesmenAtLevel5, saljare6.NIVA1);
Console.WriteLine("---------------SUMMARY--------------");
我的问题是,我想排序我的Saljare1-6之后,他们已经达到了NIVA1。目前我得到正确的信息,但它们按输入时的顺序排列。得到后排序结果;设置参数
我想要的是,如果2个卖家达到了200多个销售(等级4),那么它会显示如: 卖方(saljare)信息1个 卖家信息2个 2卖家已经达到4级
与同为所有其他级别。
编辑:有6这些,最终值是正确的,但它没有在正确的顺序。我想让卖家按照他们到达的NIVA1排序。我怎样才能让他们让所有卖家及其信息达到1级,然后是“2个卖家达到1级”。在此之后,所有到达2级的卖家都将获得“1个卖家达到2级”。
当我尝试使用排序列表时,我得到一个ArgumentException,因为多个卖家达到了一定的水平。
for (int level = 0; level < 4; level++)
{
var salesmenAtLevel = 1;
foreach (Säljare saljaren in salesmen)
{
if (saljare1.NIVA1 == level)
{
salesmenAtLevel++;
}
}
if (salesmenAtLevel > 0)
{
Console.WriteLine("Namn = {0} && Personnummer = {1} && Distrikt = {2} && AntalArtiklar = {3}", saljare1.NAMN, saljare1.PERSONNUMMER, saljare1.DISTRIKT, saljare1.ANTALARTIKLAR);
Console.WriteLine("{0} salesmen have reached nivå {1}", salesmenAtLevel, saljare1.NIVA1);
Console.WriteLine("---------------SUMMARY--------------");
}
编辑2:我得到下面的ArgumentException,取决于它何时到达每个NIVA1多于一个卖家。
SortedList s = new SortedList();
s.Add(saljare1.NIVA1, saljare1);
s.Add(saljare2.NIVA1, saljare2);
s.Add(saljare3.NIVA1, saljare3);
s.Add(saljare4.NIVA1, saljare4);
s.Add(saljare5.NIVA1, saljare5);
s.Add(saljare6.NIVA1, saljare6);
for (int j = 0; j < s.Count; j++)
{
Console.WriteLine("{0}: {1}", s.GetKey(j), s.GetKey(j));
}
}
Console.ReadKey(true);
请格式化代码更具可读性。建议您最好创建一个最简单的示例来展示您的问题。 – Codor
我编辑了这个问题,希望它更容易理解。 – konto123
你的foreach中的saljare1是什么(销售员中的Säljaresaljaren)循环?因为你做'var salesmenAtLevel = 1;'最初,'if(salesmenAtLevel> 0)'条件总是会被满足。你到底在哪里得到参数异常? –