当前位置:编程学习 > C#/ASP.NET >>

C# array问题

--------------------编程问答-------------------- using System;
using System.Windows.Forms;

namespace ArrayTestResult {
  public partial class Form1 : Form {

      int[] marks;
      int totalTest;

    public Form1() {
      InitializeComponent();
    }

    private void start_Click(object sender, EventArgs e)
    {
         try
        {
            totalTest = int.Parse(txtSize.Text);
            if (totalTest <= 0)
                throw new Exception("Number of Test must be > 0");

             marks = new int[totalTest];

            ShowTestResult(totalTest);

            grpInput.Enabled = true;
            btnEnter.Enabled = true;
            grpReplaceAll.Enabled = true;
            btnReplaceAll.Enabled = true;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, ex.GetType().Name);
        }
    }


    private void ShowTestResult(int num)
    {
        try
        {
            txtTestResults.Clear();
            for (int i = 0; i < totalTest; i++)
            {
                txtTestResults.Text += "Test" + i + ":" + marks[i];
                txtTestResults.Text += "\r\n";
            }
        }

        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, ex.GetType().Name);
        }
    }

    private void btnEnter_Click(object sender, EventArgs e)
    {
        try
        {
            int index = int.Parse(txtIndex.Text);
            int mark = int.Parse(txtOriginalMark.Text);

            if (mark <= 0)
                throw new Exception("Tes test mark shold be within 0 and 100");


            marks[index] = mark;
            ShowTestResult(totalTest);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, ex.GetType().Name);
        }
    }


    }
    }
--------------------编程问答--------------------  int index = int.Parse(txtIndex.Text);
 int mark = int.Parse(txtOriginalMark.Text);

估计这两段代码有问题自己调试下 --------------------编程问答--------------------
引用 2 楼 yqb_6280180 的回复:
 int index = int.Parse(txtIndex.Text);
 int mark = int.Parse(txtOriginalMark.Text);

估计这两段代码有问题自己调试下



int应该没有错吧? --------------------编程问答-------------------- int index = int.Parse(txtIndex.Text);
int mark = int.Parse(txtOriginalMark.Text);
楼主,错误就在第二行,txtOriginalMark.text应该是Replace All面板OriginalMark后的文本框的属性,楼主你粗心把它当做Marks后的文本框了。当你按下Enter时,txtOriginalMark.text为空,所以转为int时会出错。
  --------------------编程问答-------------------- 在LED电子屏批发对照表.x --------------------编程问答-------------------- 在
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,