[英]How to get Top 3 of an int Array and display values in Listbox / ListView
我想知道如何在使用數組的文本文件中找到利息之后的前三筆交易。 基本上,當應用程序打開時,它將在列表框或列表視圖框中加載前3名客戶及其對應於其姓名的現金價值。
在文本文件中,有許多數字,例如交易號,現金存款額,利息后現金額。 我該如何區分它們,以便僅找到利息之后的前三位現金量並顯示名稱?
private void Form5_Load(object sender, EventArgs e)
{
int[] array = new int[10];
Console.WriteLine("transactions.txt");
for(int i=0;i<10;i++)
{
array[i] = Convert.ToInt32(Console.ReadLine());
}
int largest = array[9];
for(int i=0;i<10;i++)
{
if (array[i] > largest)
{
largest = array[i];
}
}
Console.WriteLine("The largest transaction amount is {0}", largest);
Console.Read();
}
//Here is the code for whats in the transactions.txt file.
public void CreateFile()
{
StreamWriter outputFile;
outputFile = File.AppendText("transactions.txt");
outputFile.WriteLine("Transaction Number :" + " " + TransactionIDLabel.Text);
outputFile.WriteLine("Investor :" +" " + InvestorNameLabel.Text);
outputFile.WriteLine("Initial Amount" + " " +AmountLabel.Text);
outputFile.WriteLine("Date Invested" +" " +DateLabel.Text);
outputFile.WriteLine("Period Chosen" + " "+DaysInvestedLabel.Text);
outputFile.WriteLine("Rate Chosen" + " " + RateLabel.Text);
outputFile.WriteLine("Total Interest" + " " +InterestAmountLabel.Text);
outputFile.WriteLine("Total Amount" + " " + TotalAmountLabel.Text);
outputFile.WriteLine("");
outputFile.Close();
}
進行以下更改,您將獲得前三名
int[] largest
OrderByDescending
對數組進行降序排序 Take(3)
獲得所需的交易 希望這可以幫助,
int[] largest = array.OrderByDescending( item => item).Take(3).ToArray();
int count = 1;
string msg = "The {0} largest transaction amount is {1}";
foreach (var element in largest)
{
Console.WriteLine(msg, count++,element);
}
這是列表框和列表視圖的示例代碼
private void button1_Click(object sender, EventArgs e)
{
int[] array = new int[] { 1, 3, 4, 5, 6, 7, 8, 99, 22, 44 };
int[] largest = array
.OrderByDescending(item => item)
.Take(array.Length).ToArray();
foreach (var element in largest)
{
listBox1.Items.Add(element);
listView1.Items.Add(new ListViewItem(element.ToString()));
}
}
這就是它的樣子
我建議將每一行讀入一個對象/結構實例,然后使用類似的方法獲得前三名
新的列表([[如果您仍然使用數組來保存它們]]。OrderByDescending(x => x.Amount).Take(3);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.