簡體   English   中英

從文本數組向列表框添加值

[英]Adding values to a list box from array WITH text

我將文件中的值添加到數組,然后將這些值添加到表單的列表框中。 我有執行計算的方法,並且一切工作都很好,但是我希望能夠使用循環並將年份插入到要插入列表框中的值之前。 有沒有一種方法可以使用.Add方法並包括一個將在其中進行更改的變量? 諸如populationListbox.Items.Add(i, value); 如果i是我的循環計數器? 代碼在下面,因此我希望列表框中的第一行具有我用計數器指定的年份,然后是人口。 像這樣,“ 1950-151868”。 到目前為止,它僅顯示值151868。謝謝!

const int SIZE = 41;
int[] pops = new int[SIZE];
int index = 0;
int greatestChange;
int leastChange;
int greatestYear;
int leastYear;
double averageChange;
StreamReader inputFile;


inputFile = File.OpenText("USPopulation.txt");


while (!inputFile.EndOfStream && index < pops.Length)
{
    pops[index] = int.Parse(inputFile.ReadLine());
    index++;
}

inputFile.Close();



foreach (int value in pops)
{
    **populationListbox.Items.Add(value);**
}

greatestChange = greatestIncrease(pops) * 1000;
leastChange = leastIncrease(pops) * 1000;
averageChange = averageIncrease(pops) * 1000;
greatestYear = greatestIncreaseyear(pops);
leastYear = leastIncreaseyear(pops);

greatestIncreaselabel.Text = greatestChange.ToString("N0");
leastIncreaselabel.Text = leastChange.ToString("N0");
averageChangelabel.Text = averageChange.ToString("N0");
greatestIncreaseyearlabel.Text = greatestYear.ToString();
leastIncreaseyearlabel.Text = leastYear.ToString();

像這樣?

int i = 1950;

foreach (int value in pops)
{
   populationListbox.Items.Add(i.ToString() + " - " + value);
   i++;
}

如果您停止嘗試像1980年代的C一樣嘗試使用C#並使用其強大的Framework,那么您的生活將會輕松很多。

var pops = File.ReadLines("USPopulation.txt").Select(int.Parse);

populationListbox.Items.AddRange(pops.Select((p,i) => $"{i} - {p}"));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM