Hi guys,

Sorry the title is vague. Couldn't come up with one.

Ok so I have a int variable which is, let's say, of the value 5.

Now I want to create a string which contains underscores, so: "_____" the amount of underscores is the same value of the integer. So if the int variable is of value 5 then the string should have 5 underscores, like this: "_____"

Any idea?

Recommended Answers

Something lke that?

private void method()
        {
            const int value = 5;
            string tag = "_";
            string item = "";
            for (int i = 0; i < value; i++)
                item += tag;
            MessageBox.Show("You have chosen " + value.ToString() + " underscores.\nThe result is: \"" + item + …
Jump to Post

Sure you cannot. This will not do:

for (int i = 0; i == length; i++)
 {
      lblWord.Text = lblWord.Text + "_";
 }

You have to do the loop which will go through it:

for (int i = 0; i < length; i++)
 { …
Jump to Post

So the code does not go through that for loop. That means the "lenght" is 0.

Jump to Post

All 10 Replies

Something lke that?

private void method()
        {
            const int value = 5;
            string tag = "_";
            string item = "";
            for (int i = 0; i < value; i++)
                item += tag;
            MessageBox.Show("You have chosen " + value.ToString() + " underscores.\nThe result is: \"" + item + "\"");
        }

Mitja

I think i've done it. I did this:

word = myArray[random.Next(0,myArray.Length)];
            length = word.Length;

            Label lblWord = new Label();

            lblWord.AutoSize = true;
            lblWord.Location = new System.Drawing.Point(24, 91);
            lblWord.Name = "lblWord";
            lblWord.Size = new System.Drawing.Size(27, 13);
            lblWord.TabIndex = 1;
            lblWord.Text = "";

            for (int i = 0; i == length; i++)
            {
                lblWord.Text = lblWord.Text + "_";
            }

Where the string is actually a label and i'm drawing the label on to the form.

CODING IS FUN :D (Hi Mitja!)

Hi again. I added some stuff:

private void Form1_Load(object sender, EventArgs e)
        {
            lblOne.Visible = false;
            lblTwo.Visible = false;
            lblThree.Visible = false;
            lblFour.Visible = false;

            word = myArray[random.Next(0,myArray.Length)];
            length = word.Length;

            Label lblWord = new Label();

            lblWord.AutoSize = true;
            lblWord.Location = new System.Drawing.Point(24, 91);
            lblWord.Name = "lblWord";
            lblWord.Size = new System.Drawing.Size(27, 13);
            lblWord.TabIndex = 1;
            lblWord.Text = "";

            for (int i = 0; i == length; i++)
            {
                lblWord.Text = lblWord.Text + "_";
            }

            Controls.Add(lblWord);
            lblWord.Visible = true;


        }

But I still don't see the label appearing on to the form. What am I doing wrong. (Brb Family dinner).

Sure you cannot. This will not do:

for (int i = 0; i == length; i++)
 {
      lblWord.Text = lblWord.Text + "_";
 }

You have to do the loop which will go through it:

for (int i = 0; i < length; i++)
 {
      lblWord.Text += "_";  //this will do it too :)
 }

Mitja

Still....When I press F5 and run the program, the label doesn't appear.....

So the code does not go through that for loop. That means the "lenght" is 0.

Nope - the length is definitely working. I did a quick test and made a new GUI to make sure the length and the array etc are working. It does:

private void Form1_Load(object sender, EventArgs e)
        {
            word = myArray[random.Next(0,myArray.Length)];
            length = word.Length;

            label1.Text = word.ToString();
            textBox1.Text = length.ToString();
        }

Works perfectly. The label1 and textbox1 on the GUI work as they should...So why isn't my initial program working? AM i missing something?

OMG IT WORKS! W000H00!!!!! I forgot to change thr for loop -_-' STUPID ME! :

for (int i = 0; i <= length; i++)
            {
                lblWord.Text += "_ ";
            }

Excellent. Thanks!

lol :)
I told you.
bye,
Mitja

String s = string.Empty.PadLeft(6, '-');

Replace the six with your variable. No loops required.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.20 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.