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:
[AULA] Estrutura de decisão if..else
[____ENQUETE____] Eleições para presidente 2018
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Criar jogo de terror
Arremessar uma granada(2D)
Cinemachine
personagem do unity sem animaçao e caindo pra baixo
PROBLEMA EM COPIAR SCRIPTS
Controle Objetos 3D
Ajuda com script C# (delay effect)
Script de health de inimigo sendo acessado mesmo sem acerta o inimigo
Preciso de ajuda em um script para o trabalho do meu estágio.
[Plugin dll] DigData basico save data Para Unity
[TUTORIAL] Como criar um JOGO DE TERROR
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
[Em Desenvolvimento] Battles of Worlds
Resolução Resposiva
Skybox da unity rosa
Custom Inspector
Dark blue sword RPG low poly
Atualizado (The Pyramid 1.1.1)
Problema com o Shader (Shader Bloqueado)
Como faço para o player agachar
Erro ao carregar cena salva
[RESOLVIDO] tem como mudar a cor desse fundo de distância azul?
[TUTORIAL] Otimização Simples por distância
Inventário de objetos 2D
video aula videoplayback easy ar /unity
como faz LookAt em 2d
Visual studio nao instala com compatibilidade com a unity :C
[JOGO MOBILE] The Sprinter Maze / Agradecimentos
Botao Home(Native do Android)
Carregar video por url remote settings
Montando equipe! [Game survival]
É recomendado fazer cidades fictícias no sketchup?
[TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )
Sprite crescer em linha reta como um laser 2D
[___COMO UTILIZAR O FÓRUM___] Principais botões e suas funções
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[RESOLVIDO] Problema para Carregar cena
[RESOLVIDO] Como exportar o modelo sem o seguinte prefab:
[RESOLVIDO] correr character controller
Problema com Wheel Collider
Ajuda na criação de AudioSource
Ambient Occlusion para mobile.
Erro ao instalar o componente da Unity no Visual Studio
[____SUGESTÕES PARA O FÓRUM____]
[PROJETO MOBILE] Defeat the Illuminatis
Camera Estilo Gta (Livre que Volta Sozinha)
O básico do script
[____ADERIR A UMA CATEGORIA NO FÓRUM____]
Precisa-se DE Modelador/Animador Para Um Jogo de RPG Online..
unity - erro ao salvar dados
Duvidas com Json
Artistas 3D e Programadores Unity3D (Remunerado)
[TUTORIAL] Como fazer um laser com LineRenderer - UNITY 5
[TUTORIAL ] Script para Cutscenes
The Pyramid Demo Atualizado
Problemas com Colisores
Como fazer a vida ficar encima do player enquanto ele se move
Camera olhar para player em planeta esférico (estilo Mario Galaxy)
[RESOLVIDO] Ativar um Unico Objeto da Array.
tela preta do unity apos abrir no celular..
Procuro desenvolvedor Google Maps
Destruir Terreno
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
Erro de arquivo CSPROJ na Unity
[RESOLVIDO] Diminuir um número
[RESOLVIDO] String.contains
Command 888
[TUTORIAL] Mover personagem com Touch, no estilo SUBWAY SURFERS
Ajuda com código Raycast2D
[TUTORIAL] Bubble Sort - Algoritmo
touch do android em C# Unity
[TUTORIAL] Gerar números aleatórios SEM REPETIR (método com lista)
[TUTORIAL] Sistema de Lanterna com Pilhas
Dúvida, poupar processador.
Gerador de senha
(ARQUIVO) Leia aqui como obter sucesso com seu jogo independente?
Alguém pode corrigir as roupas do meu personagem? (Modelagem 3D - Pedido)
Dúvida em relação ao Enum
Para quem é fã de The King of Fighters!
Bora entrar no Discord.. Tirando Duvidas Online..
Bugando depois do Build.
[_ASSET_] MS Vehicle System (Vehicle Controller)
[RESOLVIDO] Mudança de GUI para UI?
Alguem pode me ajudar? tenho esse erro aqui em um script mas nao consigo resolver...:
Grupo de personagens
[Dúvida] Multiplayer Client Object Spawn
PLAYER NAO MOVER ENQUANTO ESTA ABAIXADO
Unity - Erro ao Acessar Classe de Objeto
Ajuda com sistema de flecha com mira pareada com a câmera
PAGO POR SERVIÇO, crianção de jogo android 2d online
Simulador de Controle de Tráfego Aéreo
[RESOLVIDO] Problema com Compilação para Android
Como otimizar minha criação de labirintos?
[RESOLVIDO] Unity - Soma Entre Strings
Força do pulo
java é seguro? Node.js: Server-side JavaScript é seguro?
Hoje à(s) 5:14 pm
Hoje à(s) 2:13 pm
Hoje à(s) 1:36 pm
Hoje à(s) 8:53 am
Hoje à(s) 7:54 am
Hoje à(s) 1:23 am
Hoje à(s) 1:21 am
Hoje à(s) 1:20 am
Ontem à(s) 11:00 pm
Ontem à(s) 5:42 pm
Ontem à(s) 3:40 pm
Ontem à(s) 2:26 pm
Ontem à(s) 1:58 pm
Ontem à(s) 11:41 am
Ontem à(s) 6:58 am
Ontem à(s) 12:11 am
Qui Set 20, 2018 8:26 pm
Qui Set 20, 2018 8:23 pm
Qui Set 20, 2018 8:15 pm
Qui Set 20, 2018 6:01 pm
Qui Set 20, 2018 12:53 pm
Qua Set 19, 2018 8:10 pm
Qua Set 19, 2018 7:16 pm
Qua Set 19, 2018 7:11 pm
Qua Set 19, 2018 10:51 am
Qua Set 19, 2018 10:23 am
Qua Set 19, 2018 10:21 am
Qua Set 19, 2018 2:14 am
Qua Set 19, 2018 1:17 am
Ter Set 18, 2018 9:01 pm
Ter Set 18, 2018 1:59 pm
Ter Set 18, 2018 2:48 am
Seg Set 17, 2018 7:55 pm
Seg Set 17, 2018 6:46 pm
Seg Set 17, 2018 12:58 pm
Seg Set 17, 2018 12:54 pm
Seg Set 17, 2018 8:18 am
Seg Set 17, 2018 7:36 am
Seg Set 17, 2018 7:35 am
Dom Set 16, 2018 11:15 pm
Dom Set 16, 2018 11:13 pm
Dom Set 16, 2018 4:50 pm
Dom Set 16, 2018 5:13 am
Sab Set 15, 2018 10:06 pm
Sab Set 15, 2018 10:00 pm
Sex Set 14, 2018 8:41 pm
Sex Set 14, 2018 8:37 pm
Sex Set 14, 2018 6:57 pm
Sex Set 14, 2018 5:17 pm
Sex Set 14, 2018 2:04 pm
Sex Set 14, 2018 11:10 am
Qui Set 13, 2018 3:36 pm
Qui Set 13, 2018 10:14 am
Qui Set 13, 2018 9:48 am
Qui Set 13, 2018 9:25 am
Qua Set 12, 2018 11:40 pm
Qua Set 12, 2018 6:04 pm
Qua Set 12, 2018 12:57 pm
Qua Set 12, 2018 3:33 am
Qua Set 12, 2018 12:25 am
Ter Set 11, 2018 8:00 pm
Ter Set 11, 2018 4:20 pm
Ter Set 11, 2018 2:52 pm
Ter Set 11, 2018 2:20 pm
Ter Set 11, 2018 12:27 pm
Seg Set 10, 2018 11:10 pm
Seg Set 10, 2018 8:29 pm
Seg Set 10, 2018 7:17 pm
Seg Set 10, 2018 6:47 pm
Seg Set 10, 2018 12:08 pm
Seg Set 10, 2018 9:07 am
Dom Set 09, 2018 11:27 pm
Dom Set 09, 2018 6:58 pm
Dom Set 09, 2018 3:53 am
Sab Set 08, 2018 11:37 pm
Sab Set 08, 2018 11:29 pm
Sab Set 08, 2018 11:23 pm
Sab Set 08, 2018 10:23 pm
Sab Set 08, 2018 6:23 pm
Sab Set 08, 2018 5:07 pm
Sab Set 08, 2018 1:24 pm
Sab Set 08, 2018 1:05 pm
Sab Set 08, 2018 11:40 am
Sab Set 08, 2018 10:40 am
Sab Set 08, 2018 2:12 am
Sex Set 07, 2018 12:47 pm
Sex Set 07, 2018 9:37 am
Sex Set 07, 2018 8:59 am
Sex Set 07, 2018 5:57 am
Qua Set 05, 2018 8:20 pm
Qua Set 05, 2018 6:37 am
Qua Set 05, 2018 12:13 am
Ter Set 04, 2018 9:35 pm
Ter Set 04, 2018 7:07 am
Seg Set 03, 2018 7:35 pm
Seg Set 03, 2018 6:12 pm
Seg Set 03, 2018 6:04 pm
Seg Set 03, 2018 8:16 am
Dom Set 02, 2018 11:15 pm
MayLeone
JohnRambo
Dom3000
Lourenco
BananaSmith
MarcosSchultz
MarcosSchultz
MarcosSchultz
Rodrigo21556
PedroSilva
Jmspp
luansantos
FelipeSouza11
francisco barroso
dstaroski
Dom3000
MarcosSchultz
MarcosSchultz
MarcosSchultz
MRX
Callyde Jr
diegopds
MayLeone
Callyde Jr
Daniel Dória
Daniel Dória
Caius
marciosilva
MarcosSchultz
luiz12345
JohnRambo
rafaelllsd
natanael.olimpio
PedroSilva
Callyde Jr
Callyde Jr
Ezequiel286
dstaroski
dstaroski
Eduardoro39
SuperGamer
JuR
MarcosSchultz
MeverPlays
MeverPlays
MarcosSchultz
MarcosSchultz
dstaroski
dstaroski
dstaroski
JohnRambo
fecirineu
igorobm
igorobm
igorobm
Eduardoro39
NKKF
Callyde Jr
MarcosSchultz
MarcosSchultz
MarcosSchultz
nicolasfive
natanael.olimpio
natanael.olimpio
INKnight
FuncaoFF
dstaroski
QueriaStarMorto
NyanHeavyBR
Callyde Jr
FabioBRPA
MarcosSchultz
NKKF
niao
MarcosSchultz
MarcosSchultz
MarcosSchultz
Flávio
Joab Artes Gráficas
vitorhugo
Callyde Jr
Callyde Jr
fecirineu
FeLotus
MarcosSchultz
Callyde Jr
fecirineu
lelouchsdky
Callyde Jr
gurgelg752
Tiago95
FelipeSouza11
ruanzikaad
joz
WesFarias
TassoCervi
Magnatah
junkflash30
MarcosSchultz

[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!
avatar
MayLeone
ProgramadorMaster

Feminino PONTOS : 406
REPUTAÇÃO : 135
Áreas de atuação : Unity, Rpg Maker, Scratch, C#, C++, HTML, CSS, JS, MySQL, 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!
avatar
FelipeGD
MembroAvançado

Masculino PONTOS : 389
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!
avatar
dstaroski
Instrutor

Masculino PONTOS : 3570
REPUTAÇÃO : 931
Idade : 29
Áreas de atuação : Téc. Hardware e Redes, Programação C#.

Respeito as regras :

Ver perfil do usuário https://gamejolt.com/games/defeattheilluminatis/347786

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.
avatar
Tegh
Avançado
Avançado

Masculino PONTOS : 147
REPUTAÇÃO : 21
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