bingobongo
bingobongo

Reputation: 1

How can I make int input to string input C#

How can I make int input to string input in C#? How can I change the int input to string input, so the user can write letters to the textbox, instead of numbers? I have tried myself, but the code won't work anymore. I know the solution is easy, but can't figure it out..

Here is my code:

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!";
        }

Upvotes: 0

Views: 136

Answers (1)

Crisp
Crisp

Reputation: 11

Instead of using Int.Parse, try using Int.TryParse to determine if the input will evaluate to a number before storing the result.

     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]);
     }

Upvotes: 1

Related Questions