SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Ajuda em código com Events!
Instanciar explosões dentro de uma area circular
Cronor Estudios RECRUTANDO PARA EQUIPE! [Pagando]
Jogo para limitar a nave dentro da tela
Como fazer som de passos no Third Person User Control
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[___COMO UTILIZAR O FÓRUM___] Principais botões e suas funções
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Alterar caminho Application.persistentDataPath
[TUTORIAL] Como fazer um ponteiro de VELOCIDADE, RPM, etc na Unity
Acessar câmera frontal
Otimização de array vector3
[TUTORIAL] Converter uma variável String em Vetores
Problema no ontriggerenter!!!!
mover objetos "rigados"
Dúvida com Contador no Unity
Button
Anim em Gif
[RESOLVIDO] Camera ViewPort Rect
Blob Shadows
duvida em comentarios no c#
Tirar mais de uma foto
Easy Criatura Controle IA
Text multiuplayer
using UnityEngine.networking
Ajuda com script de escolhas de ações antes de iniciar jogo
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
ajuda em adcionar novos produtos
[RESOLVIDO] Input field enter
Controles desabilitando
Unity e windows 10
Ajuda com a Câmera (Culling Mask)
Script de Spawn Aleatório
[TUTORIAL] Mover, arremessar e girar objetos com o mouse
Como se faz um mini-mapa?
Geração procedural de mapa para a nova versão do Unity 2018
Como ter varios prefabs com o msm script e um nao alterar o outro?
Como acessar um script que esta no pai?
Movimentação por sqm
Como faço um som parar de tocar?
Mudar skin através de galeria do celular
COMO FAÇO O SISTEMA DE CHUVA ESTILO ETS2 COM GOTAS NO PARA BRISA?
Gerador de senha
troca de cena faz os Botoes UI não funcionarem
Random.State Altera a seed de todos os scripts?
AI Enemy Ajuda
Easy Mesh Combiner MT - Combine suas malhas de maneira rápida e FÁCIL!
Captura de imagem
[Recomendação] Código Limpo
Sobre colisões em objetos 2D
[RESOLVIDO] COMO FAZ PARA DESATIVAR E ATIVAR UM BOTÃO UI PELO TRIGGER??
[TUTORIAL] Importando animação do mixamo para Unity3d.
Dar recompensa ao ver propaganda ADMOB - CONSTRUCT 2 - Intel XDK
Erro Visual Studio Code .NETFramework v4.7.2
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
(Dúvida) iRDS - Inteligencia artificial para carros.
de flash pra unity
Como faço para por input de agachar
[RESOLVIDO] Unity 2018.3.0f2 (64-bit) não deixa apagar Componente Importado
PlayerPrefs??
[RESOLVIDO] Deslizar nas paredes (3D)
[RESOLVIDO] Ajuda com Instantiate e SetParent
[TUTORIAL] Luz Principal,Luz de Freio,Piscas para Carro,Moto,Caminhão,Ônibus,Etc...
Estou desenvolvendo jogo em FNA XNA e Nao consigo fazer o player agachar
Como fazer objetos com a mesma TAG não se colidir?
Participe da IDB Jam #1
Ajuda com modelo 3d de Casa
COMO PROJETAR ANIMAÇÕES VISUAIS E DE AÚDIO NO VISUAL STUDIO ( WINDOWS FORM)?
[RESOLVIDO] Cena em modo Portrait e Landscape
[TUTORIAL] Mover personagem com Touch, no estilo SUBWAY SURFERS
Ajuda em Level Design e arte
[RESOLVIDO] IAP não está funcionando depois que faço o build
Error ao Gerar a KeyStore do Apk Android
Iniciando com Scripted Events
Buscando Equipe para jogo de Terror!
[RESOLVIDO] Erro ao compilar pra android
[RESOLVIDO] Girar Objeto
Erro com Post Processing e com canvas
[Jogo Mobile] Alien - Lost in the space
[TUTORIAL] Assinando um Apk e dicas de instalação e configurações
Webrequest php database
Sistema De Camera De Primeira Pessoa de um Veiculo Para Android
Converter tranform em gameObject
tirar selfie através do celular desenvolvendo app pela unity
[RESOLVIDO] Bug Textura Unity
[RESOLVIDO] Pegar filho pelo nome
Conexão Android MySql hospedado
[Duvida] Script de mover objeto usando o RigidBody
[RESOLVIDO] Remover objeto filho
[RESOLVIDO] Câmera isométrica seguindo o player
[TUTORIAL] Banco de dados || MySQL
[JOGO WINDOWS] "TradeHero"
procuro modeladores e artista para projeto de Moba
[TUTORIAL] Criando um simples Multiplayer [UNITY 5]
Alguêm sabe Configurar RagDoll?
Demo do meu novo jogo
Sistema De Marchas para Veiculos
Script para Tela de Loading ( HELP )
ajuda em inimigos aleatorios
Ontem à(s) 8:55 pm
Ontem à(s) 7:23 pm
Ontem à(s) 7:02 pm
Ontem à(s) 6:34 pm
Ontem à(s) 4:04 pm
Ontem à(s) 9:22 am
Ontem à(s) 9:21 am
Ontem à(s) 9:20 am
Ontem à(s) 9:20 am
Qui Fev 14, 2019 9:00 pm
Qui Fev 14, 2019 8:58 pm
Qui Fev 14, 2019 8:53 pm
Qui Fev 14, 2019 11:57 am
Qua Fev 13, 2019 10:40 pm
Qua Fev 13, 2019 8:10 pm
Qua Fev 13, 2019 1:11 pm
Qua Fev 13, 2019 9:48 am
Qua Fev 13, 2019 9:25 am
Qua Fev 13, 2019 9:23 am
Ter Fev 12, 2019 11:03 pm
Ter Fev 12, 2019 4:15 pm
Ter Fev 12, 2019 4:07 pm
Ter Fev 12, 2019 2:07 pm
Ter Fev 12, 2019 1:14 pm
Ter Fev 12, 2019 4:32 am
Ter Fev 12, 2019 4:06 am
Ter Fev 12, 2019 2:39 am
Ter Fev 12, 2019 2:03 am
Ter Fev 12, 2019 12:54 am
Ter Fev 12, 2019 12:52 am
Ter Fev 12, 2019 12:26 am
Ter Fev 12, 2019 12:26 am
Ter Fev 12, 2019 12:19 am
Ter Fev 12, 2019 12:13 am
Ter Fev 12, 2019 12:05 am
Seg Fev 11, 2019 11:46 pm
Seg Fev 11, 2019 11:28 pm
Seg Fev 11, 2019 10:43 pm
Seg Fev 11, 2019 10:39 pm
Seg Fev 11, 2019 10:30 pm
Seg Fev 11, 2019 10:26 pm
Seg Fev 11, 2019 8:09 pm
Seg Fev 11, 2019 9:53 am
Seg Fev 11, 2019 7:26 am
Dom Fev 10, 2019 7:23 pm
Dom Fev 10, 2019 5:59 pm
Dom Fev 10, 2019 7:19 am
Dom Fev 10, 2019 12:25 am
Sex Fev 08, 2019 12:40 am
Qui Fev 07, 2019 7:53 pm
Qui Fev 07, 2019 6:23 pm
Qui Fev 07, 2019 9:39 am
Qua Fev 06, 2019 5:36 pm
Ter Fev 05, 2019 6:21 pm
Ter Fev 05, 2019 4:32 pm
Seg Fev 04, 2019 9:23 pm
Seg Fev 04, 2019 2:00 pm
Seg Fev 04, 2019 1:58 pm
Seg Fev 04, 2019 11:26 am
Dom Fev 03, 2019 10:39 pm
Dom Fev 03, 2019 3:36 pm
Dom Fev 03, 2019 12:23 pm
Dom Fev 03, 2019 12:54 am
Sab Fev 02, 2019 5:41 pm
Sab Fev 02, 2019 3:28 pm
Sab Fev 02, 2019 1:16 pm
Sex Fev 01, 2019 6:21 pm
Sex Fev 01, 2019 3:24 pm
Sex Fev 01, 2019 11:18 am
Qui Jan 31, 2019 11:17 pm
Qui Jan 31, 2019 9:24 pm
Qui Jan 31, 2019 8:17 pm
Qui Jan 31, 2019 7:21 pm
Qui Jan 31, 2019 3:06 pm
Qui Jan 31, 2019 1:09 pm
Qui Jan 31, 2019 8:27 am
Qui Jan 31, 2019 3:39 am
Qua Jan 30, 2019 10:51 pm
Qua Jan 30, 2019 8:15 pm
Qua Jan 30, 2019 12:48 pm
Qua Jan 30, 2019 11:41 am
Qua Jan 30, 2019 9:18 am
Qua Jan 30, 2019 9:15 am
Qua Jan 30, 2019 9:04 am
Ter Jan 29, 2019 9:26 pm
Ter Jan 29, 2019 3:13 pm
Ter Jan 29, 2019 3:02 pm
Ter Jan 29, 2019 10:31 am
Seg Jan 28, 2019 7:41 pm
Seg Jan 28, 2019 5:29 pm
Seg Jan 28, 2019 4:09 pm
Seg Jan 28, 2019 9:01 am
Dom Jan 27, 2019 8:46 pm
Dom Jan 27, 2019 8:10 pm
Dom Jan 27, 2019 4:13 pm
Dom Jan 27, 2019 1:54 am
Sab Jan 26, 2019 11:02 pm
Sab Jan 26, 2019 5:53 pm
Sex Jan 25, 2019 11:16 pm
bielTuvel
Flávio
MarcosSchultz
Flávio
artplayer
dstaroski
dstaroski
dstaroski
dstaroski
MarcosSchultz
MarcosSchultz
MarcosSchultz
AnderGames
MarcosSchultz
Zack2
Callyde Jr
Weslley
numb123
numb123
Isabela
Weslley
Weslley
Unidade3d5
richerd
hetrodo
Fabio Palacios
MarcosSchultz
Encracker
Encracker
guimaraf
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Kayke_27
Weslley
hetrodo
AnderGames
Mark1nDeveloper
marcos4503
JohnRambo
guimaraf
Tegh
Kayke_27
dstaroski
wolney.almeida
Tegh
Weslley
guimaraf
JohnRambo
JohnRambo
glauco
speedluk
NKKF
gilgsjr
soohzinha
Lynx777
MayLeone
dimmuo
glauco
KAYLLONBR
JrdeAmorim
Édipo
Agios
vanderval
francisco barroso
bielTuvel
rodrigo Santos
TioUV
michelly
Zack2
SuperGamer
Weslley
marcos4503
dstaroski
dstaroski
Xandao
TecnoGames
numb123
Weslley
Weslley
MayLeone
guimaraf
numb123
mafipt
Valakinhas
Valakinhas
gilgsjr
Joshuaaaa
Gabryellx007
Aimknot
Callyde Jr

[AULA] Listas (List)

Ir em baixo

TUTORIAL [AULA] Listas (List)

Mensagem por MayLeone em Qui Jul 12, 2018 5:42 pm

O que são listas?
Se você leu a aula passada sobre arrays no blog, você vai se familiarizar com as listas rapidamente, pois são estruturas muito similares em C#.
Lista ou List, é mais um mecanismo de coleções que temos em linguagem de programação, onde nos permite acessar e ler objetos tipados e também valores, inseridos dentro dela.
Assim como arrays, as listas também possuem propriedades e métodos que podem auxiliar em sua manipulação ou leitura, e um índice que determina onde cada elemento se encontra dentro da mesma.
Em termos de comparações, uma lista está muito mais próxima a um vetor do que uma matriz, pois possui apenas um índice de acesso, porém, uma de suas principais características é poder se reajustar ao tamanho do seu conteúdo inserido.

Como definir uma lista?
A definição de listas é muito similar ao de vetores,  porém, você precisa especificar que o que você está criando é uma lista de fato, ao incluir a palavra "List" no início de sua definição.
Você também precisa especificar o tipo de conteúdo que será armazenado na lista, só que diferente das variáveis ou arrays, o tipo é inserido dentro destes limitadores: <>.
Uma lista precisa de um nome para ser tido como referência de acesso e leitura, e assim comoarrays precisa de uma instanciação.
Veja como definir uma lista de strings, comparando-se à definição de um vetor de mesmo tipo:



Perceba que normalmente precisamos definir um tamanho para arrays, ou seja, quantos elementos ela poderá armazenar. No caso do exemplo, serão 10. 
Mas veja que na lista não precisamos especificar este tamanho. Essa é a grande diferença (e também "vantagem") que temos entre as listas e arrays. Enquanto num array normalmente você precise definir seu tamanho, as listas não tem essa necessidade, mesmo porque, como já dito, elas se reajustam de acordo com a quantidade de elementos que você irá inserir.
Se quiser definir um tamanho fixo pra lista, você pode fazer também:

Código:
List<int> nomeLista = new List<int>(20); // Lista com tamanho até 20


Obs: Para poder usar as listas, você precisa fazer referência a uma biblioteca .Net no início do código:

Código:
using System.Collections.Generic;




Como adicionar valores em uma lista?
Para adicionar algum conteúdo em sua lista, você deve referenciá-la, ou seja, especificar seu nome, e utilizar um método chamado "Add". Através deste comando, você pode adicionar um valor dentro da sua lista, sem se preocupar com seu índice. Veja um exemplo:





Você pode ler um valor da lista utilizando o mesmo artifício que faz com arrays: Referenciar a lista que deseja manipular e especificar seu índice através dos colchetes (Os índices de listas também iniciam em zero!)



Perceba que se você debugar o código, o valor de saída exibido em console será "Mayara", que é o elemento do índice 1 na lista "nomesLista".

Também é possível alimentar a lista de forma dinâmica através de laços de repetições, como neste exemplo, onde o usuário deve informar o nome de funcionários até que a letra 'N' seja digitada:





Note que como estamos utilizando o laço "while", a quantidade de vezes que esta repetição irá executar é variável, dependendo da vontade do usuário. Por conta disso, é possível notar que independentemente da quantidade de vezes que o usuário digitar um nome de funcionário, a lista vai se ajustar à essa quantidade de elementos inseridos.
Para saber quantos elementos temos dentro de uma lista (ou seja, seu tamanho atual), utilize o método "Count":





O que será exibido será isto:






Iteração com laços:
Também como arrays, é possível realizar uma iteração dinâmica entre listas e laços, tanto para ler seu conteúdo, quanto para manipulá-los.

Seguindo o exemplo da lista de funcionários, podemos agora exibir o conteúdo dessa lista através dos laços de repetições "for" e também "foreach", veja como fazer de ambas maneiras:







O resultado em console será o mesmo, por exemplo:



Checar valores ou removê-los:
Lembra-se que eu disse que as listas possuem propriedades e métodos interessantes que podem ser executados em conjunto? Pois então, um deles é o método "Contains", que verifica se determinado valor existe em sua lista:



No exemplo acima, eu fiz uma iteração entre o laço for e a lista, adicionando à ela os incrementos do contador da repetição, ou seja, dentro dessa lista temos números de zero à 100.
Depois disso, eu desejo verificar se na lista contém o valor 200.
A saída em console é esta:



Essa mensagem é exibida porque na lista, como já dito, temos valores apenas de zero à 100, o valor 200 não se encontra, e na condição estamos verificando se este valor existe na lista, e como não existe, ele vai executar o "else".
Tente agora alterar o limite do laço de 100 para 500, por exemplo e teste novamente o código. A saída agora é esta:



Você pode também remover valores de sua lista, basta utilizar o método "Remove":



Note que foi criada uma lista do tipo "char" que inicia com três valores: "A", "B" e "C", depois eu realizo uma iteração com o laço para exibir esses conteúdos e o índice onde eles estão.

Após isso eu removo o valor "A" da lista e novamente exibo os valores dentro da lista, veja que interessante que ocorre com seus índices:



Veja que inicialmente o caractere "A" se encontrava no índice 0 da lista, e após sua remoção, quem acaba ocupando esta posição no índice seria o seu sucessor, ou seja, "B".
Aqui está mais uma vez provado que a lista se ajusta de acordo com a quantidade de elementos inseridos a ele, tanto em relação a adições quanto em relação a remoções.

Para limpar uma lista por completo, ou seja, eliminar TODOS os elementos da mesma, você pode utilizar o método "Clear()".

As listas são mecanismos muito interessante e excelentes de coleções em C#, portanto possuem diversos métodos e propriedades inteligentes e ótimas. Para ter acesso a todas elas, visite o site oficial da Microsoft sobre listas, onde cada método e propriedade das mesmas são explicados: https://msdn.microsoft.com/pt-br/library/6sh2ey19(v=vs.110).aspx

Final:
É isso, então! Aqui você aprende o básico sobre listas! Espero que tenham gostado e acima de tudo, que tenham entendido o conteúdo.
Aqui no blog temos vários exemplos de como utilizar as listas e suas propriedades em aplicações práticas! Não deixe de treinar!
MayLeone
MayLeone
ProgramadorMaster

Feminino PONTOS : 787
REPUTAÇÃO : 234
Áreas de atuação : Unity, C++/C#, HTML, CSS, JS, jQuery, PHP, MySQL, XML, Blender
Respeito as regras :

Ver perfil do usuário http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

TUTORIAL Re: [AULA] Listas (List)

Mensagem por FelipeGD em Qui Jul 12, 2018 5:57 pm

Aula interessante e bem feita sobre as listas no c#. Parabéns!
FelipeGD
FelipeGD
MembroAvançado

Masculino PONTOS : 536
REPUTAÇÃO : 32
Áreas de atuação : Programação (Python, C#, C++) (intermediário). Animação 3D (Blender e Cinema 4D) (Iniciante).
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [AULA] Listas (List)

Mensagem por dstaroski em Qui Jul 12, 2018 7:14 pm

Parabéns ai! muito bom mesmo!

Abraço!
dstaroski
dstaroski
Instrutor

Masculino PONTOS : 4066
REPUTAÇÃO : 1051
Idade : 29
Áreas de atuação : Téc. Hardware e Redes, Programação C#, Asp .NET, HTML, CSS, Unity 3D

Respeito as regras :

Ver perfil do usuário http://diegodeoliveira.gamejolt.io/defeattheilluminatis

Voltar ao Topo Ir em baixo

TUTORIAL Re: [AULA] Listas (List)

Mensagem por Tegh em Dom Jul 15, 2018 12:35 am

Muito bom mesmo, é triste de certa forma não haver (pelos menos que eu saiba) forma de ajustar (depois de instanciado com um tamanho) o tamanho do array.
Tegh
Tegh
MembroAvançado

Masculino PONTOS : 362
REPUTAÇÃO : 38
Idade : 17
Áreas de atuação : Desenvolvimento de Software com C#, aprendizado na Unity e formulação de Sprite no estilo PixelArt.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum