domingo, 30 de maio de 2021

C# - Embaralhando array de string


Quando queremos armazenar muitos
valores de mesmo tipo,
podemos declarar e utilizar as matrizes,
isto é muito mais prático do que declarar,
várias variáveis para cada valor separado.
Para declarar um array de string em C#,
basta definir o tipo da variável seguido
de colchetes e seu nome na frente:
string [ ] frutas;
Depois de declarado, podemos inicializa-los,
abrindo uma chave, e em uma lista entre "aspas duplas",
separados por vírgulas finalizamos com o fechamento da chave.
Mas este programa indicado a iniciantes vai um pouco
mais longe, estamos utilizando o método Random,
que é chamado de dentro de uma classe,
que criamos para embaralhar um array de string, 
e imprimi-los em dois labels.
confira no vídeo agora mesmo por favor:



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Embaralha_String {
    public partial class Form1 : Form {
        string [ ] frutas = {
                "Goiaba",
                "Manga",
                "Caqui",
                "Carambola",
                "Limão",
                "Maçã",
                "Laranja",
                "Jabuticaba" };
        System.Text.StringBuilder str_1 = new System.Text.StringBuilder ( );
        /*============================================================*/
        void Informe ( PaintEventArgs e ) {    
            Graphics dc = e.Graphics;
            Font myFont = new System.Drawing.Font ( "Helvetica", 11,
                FontStyle.Italic );
            Brush myBrush_1 = new SolidBrush ( System.Drawing.Color.Red );
            Brush myBrush_2 = new SolidBrush ( System.Drawing.Color.Blue );
            Brush myBrush_3 = new SolidBrush ( System.Drawing.Color.Black );
            dc.DrawString ( "Por: ", myFont, myBrush_1, 150, 210 );
            dc.DrawString ( "Samuel Lima ", myFont, myBrush_2, 180, 210 );
            dc.DrawString ( "sa_sp10@hotmail.com ", myFont, myBrush_3, 150, 225 );
        }
        /*============================================================*/
        private void Paint_Imagem ( PaintEventArgs e ) {   
            Image newImage = Image.FromFile ( "Moldura_4.bmp" );
            Point ulCorner = new Point ( 0, 0 );
            e.Graphics.DrawImage ( newImage, ulCorner );
        }
        /*============================================================*/
        protected override void OnPaint ( PaintEventArgs e ) {
            Paint_Imagem ( e );
            this.Size = new System.Drawing.Size ( 615, 337 );
            this.Text = "C# - EMBARALHANDO ARRAY DE STRING";
            this.BackColor = Color.White;
            Graphics dc = e.Graphics;
            Font myFont = new System.Drawing.Font ( "Consolas", 12,
                FontStyle.Italic );
            Brush myBrush_1 = new SolidBrush ( Color.Red );
            dc.DrawString ( "C# - EMBARALHANDO ARRAY DE STRING",
                myFont, myBrush_1, 150, 15 );
            dc.DrawString ( "" + str_1, myFont, myBrush_1, 110, 30 );
            Informe ( e );
        }
        /*============================================================*/
        public Form1 ( ) {
            int i;
            InitializeComponent ( );
        for ( i = 0; i < frutas.Length; i++ ) {            
                label1.Text += frutas [ i ] + "\n";
            }
        }
        /*============================================================*/
        private void Button1_Click ( object sender, EventArgs e ) {
            //Embaralha o array de string.
            string [ ] embaralha = Embaralha_Array.Embaralha < string > ( frutas );
            //Aqui adicionamos os valores num label e mostramos os resultados.
            label2.Text = string.Join ( "\r\n", embaralha );
        }
        /*============================================================*/
    }
}