如何使int输入到字符串输入C#

时间:2015-04-16 12:14:53

标签: string int

如何在C#中对字符串输入进行int输入?如何将int输入更改为字符串输入,以便用户可以将字母写入文本框而不是数字?我已经尝试过了,但代码不再适用了。我知道解决方案很简单,但无法解决这个问题。

这是我的代码:

public partial class MainWindow : Window
{
    int[] arvat = new int[10];
    int i = 0;
    int k = 0;

    public MainWindow()
    {
        InitializeComponent();
    }
    private void btnNimi_Click(object sender, RoutedEventArgs e)
    {

     int nimet = int.Parse( txtNimi.Text);

        if (i < arvat.Length)
        {
            arvat[i] = nimet;
            i++;
            txtNimi.Text = "";
            txtNimi.Focus();
        }

        else
        {
            MessageBox.Show("Kaikki arvat on syötetty.");
            txtNimi.Text = "";
        }
    }

    private void btnArpa_Click(object sender, RoutedEventArgs e)
    {
        int arpa = 0;
        Random r = new Random();

        arpa= r.Next(0, 9);

        txbArvonta.Text = "";

        for (int i = 0; i < arvat.Length; i++)
        {
            txbTeksti.Text = "\n" + "Kaikki osallistuneet: " + "\n";
            txbArvonta.Text += arvat[i] + "\n";

         int arpominen = arvat [k];

         txbVoittaja.Text = "Ja voittaja on: " + arvat[arpa].ToString() + "\n" + "Onnea voittajalle!";
        }

1 个答案:

答案 0 :(得分:1)

尝试使用Int.TryParse来确定在存储结果之前输入是否会计算为数字,而不是使用Int.Parse。

     int number = 0;
     bool isNumeric = Int32.TryParse(arvat[i], out number);
     if (isNumeric)
     {
        Console.WriteLine("'{0}' is a number {1}.", arvat[i], number);         
     }
     else
     {
        Console.WriteLine("'{0}' is text.", arvat[i]);
     }