簡體   English   中英

將listview子項轉換為double

[英]Converting listview subitems to double

我正在C#上創建一個進程調度計算器,並為輸入創建了listviews,為調度本身創建了listviews,但是當我開始編碼FCFS調度部分時,我無法將突發時間子項轉換為兩倍,因此我可以添加等待現在是代碼的某些部分和表單的屏幕截圖

 public void button1_Click(object sender, EventArgs e)
 {
    if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "")
    {
        MessageBox.Show("Insert the required in the boxes");
    }
    else
    {
        ListViewItem Process = new ListViewItem(textBox1.Text);
        Process.SubItems.Add(textBox2.Text);
        Process.SubItems.Add(textBox3.Text);
        Process.SubItems.Add(textBox4.Text);
        listView1.Items.Add(Process);
        textBox1.Text = "";
        textBox2.Text = "";
        textBox3.Text = "";
        textBox4.Text = "";
    }
}

private void button2_Click(object sender, EventArgs e)
{
    double temp = 0;

    //First Come First Served
    if (comboBox1.Text == "FCFS")
    {
        for (int i = 0; i < listView1.Items.Count; i++)
        {
            ListViewItem WaitingTime = new ListViewItem(listView1.Items[i].Text);
            //temp = Convert.ToDouble(listView2.Items[i].SubItems[0]) + Convert.ToDouble(listView2.Items[i + 1].SubItems[0]);
            if (listView2.Items.Contains(WaitingTime))
            {
                WaitingTime.SubItems.Add(temp.ToString());
                listView2.Items.Add(WaitingTime);
            }
            else
            {
                WaitingTime.SubItems.Add(temp.ToString());
                listView2.Items.Add(WaitingTime);
            }
        }
    }

    //SJF Non-preemptive
    if (comboBox1.Text == "SJF non-preemptive")
    {
        for (int i = 0; i < listView1.Items.Count; i++)
        {
            listView2.Items.Add(listView1.Items[i].Text);
        }
    }
}

在此處輸入圖片說明

我試了幾次,搜索了幾個表格,我得到的只是FormatExpection。

Subitems [0]將保留第一個子元素,該子元素與該項的Text相同,而且您無法將ListViewItem.Subitem轉換為文本,需要使用Text屬性。

因此,您需要使用:

listView2.Items[i].SubItems[1].Text 

在您的轉換中,我還建議您使用Double.TryParse而不是Convert.ToDouble,它速度更快,並且會告訴您是否已對其進行了解析。

暫無
暫無

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

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