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:
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[Projeto]Simples em Desenvolvimento The Dolls Battle
App continuar rodando (Android)
C# Script de Camera
[ FIND ME ] Game em Desenvolvimento
Scripts !
Bug com mesh na animação
Problema com script
Duvida sobre o unity IAP (compras na google play)
Manager Como fazer um jogo nesse estilo?
Saida Da Unity E Do Furum Por Um Tempo
Testar jogo
Animação da camera no FpsController
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
[TUTORIAL] Acionar a vibração do dispositivo
Como criar conta de publicador na asset store?
Problema de renderização
Como fazer para aparecer um objeto na tela ao clicar com o mouse ou apertar um botão?
Quando a porta estiver trancada dar tipo uma tremedeira
Sorteio Especial GTA V,HELLO NEIGHBOR,PUBG
SonyVegas com qualidade ruim
Cores invertidas/Estranhas no PC
[RESOLVIDO] Compra de asset
criar um app que atende a vários produtos.
Script para abrir e fechar gaveta
Minimap/Radar/GPS Estilo GTA V
Movimento 8 lados e utilização reflexiva de If e Else If (Resolução Transform).
[PROJETO MOBILE] Defeat the Illuminatis
Programação e autonomia
Client Sincronizar objeto sem ser o player ??? (Networking Unet)
[TUTORIAL] AI Enemy ( Jogos de terror )
[____ADMINISTRAÇÃO____] Por que ninguém responde o seu tópico?
Problema de luz com objetos do ProBuilder
PROCURA-SE DESIGNER 2D e ROTEIRISTA PARA PROJETO EM ANDAMENTO!
[RESOLVIDO] Script para textura 3D
[TUTORIAL] Unity 5 - Como utilizar o Animator
Formação de Equipe - programadores de C# na unity
Participe da Game Jam - Jaaj do canal Amdré Young!
movimento do porsonagen junto com objeto
[RESOLVIDO] Som na lanterna falhando
imagem transparente
[ AJUDA] Estou com problemas para acessar índice de uma Lista e realizar uma acao
Diferentes tamanhos de Textura afeta o desempenho do jogo?
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Emulador em seu jogo como Descobrir
[GAME JAM] Consegue Fazer um jogo em 15 dias ?
[TUTORIAL] Lanterna
Textura em 3 dimensões na Unity 2018.2??????
Script que ao clicar em um objeto, abra um formulário
[RESOLVIDO] como atualizar o status do perfil na conta unity
[Projeto] Line Battle
Como Posso editar Animação Generic mixamo ?
[TUTORIAL] Sistema de EXP, upar níveis, entre outros
[AULA] Estrutura de repetição while e do while
Como fazer um analogico para rotaciona a camera do jogador? android
Como mudar de Scene sem perder os valores das variáveis
Como mudar alguma configuração de acordo com a resolução da tela?
Timer
Precisa-se de Criador de sprites.
Como criar um Reflexo falso como do Sonic Adventure?
Compilando pra android
[AULA] Estrutura de repetição for
[AULA] Listas (List)
Como encurtar e melhorar meu código, elevador(+ dúvida sobre programação em unity)
GetActiveScene
[TUTORIAL] C# .NET | Visual Studio - conexão com banco de dados MySQL
[___COMO UTILIZAR O FÓRUM___] Principais botões e suas funções
[TUTORIAL] MOVIMENTO NA ARMA PARA FICAR MAIS REAL!
(dúvida) fazer o player cair de paraquedas estilo pubg
[TUTORIAL] Como criar cénarios 2D muito rapido e facil.
Porta "bugada"
[TUTORIAL] C# .NET | Cores aleatorias RGB
RECRUTA-SE DESIGNER PARA JOGO ONLINE..
[RESOLVIDO] Script de porta trancada com audio
Animation Fps
[RESOLVIDO] Problema com StartCoroutine
[RESOLVIDO] Erro ao usar DLL/Biblioteca do Mysql
R7 - GOOH (resident evil 7)
[ NONAME ] Procura de pessoas interessadas
FPS - Armas e balas
Voice Chat
Jogo - Board Challenge Free
[RESOLVIDO] Gerenciador de arquivos CSV
Editor de vídeo gratuito.
Erro ao usar WWW na unity
[RESOLVIDO] color.a diminuir gradualmente
Pack de áudio/ efeitos sonoros gratuitos.
[TUTORIAL] Cursor do mouse não aparecer durante o jogo
Se eu fazer uma animação diferente pra cada personagem,vai pesar ?
Como fazer um sistema de se esconder?
Dragon Bones [software]
Auto-Update de forma rápida, simples e barata.
Como fazer um botão Joystick que controle o First Person Controller?
Cloud Save por arquivo binario no google play services
[RESOLVIDO] Como editar o texto que eu selecionar ? - (InputField)
Como verificar uma colisão constante ?
[TUTORIAL] CONFIGURANDO O UNITY PARA COMPILAR PARA ANDROID
Como fazer ótimo FPSController com full body?
Hoje à(s) 6:07 pm
Hoje à(s) 4:49 pm
Hoje à(s) 2:49 pm
Hoje à(s) 2:33 pm
Hoje à(s) 2:17 pm
Hoje à(s) 1:32 pm
Hoje à(s) 11:58 am
Hoje à(s) 11:29 am
Hoje à(s) 9:47 am
Hoje à(s) 7:21 am
Hoje à(s) 6:38 am
Hoje à(s) 4:28 am
Hoje à(s) 1:51 am
Ontem à(s) 8:16 pm
Ontem à(s) 8:14 pm
Ontem à(s) 6:39 pm
Ontem à(s) 3:16 pm
Ontem à(s) 2:25 pm
Ontem à(s) 2:20 pm
Ontem à(s) 2:14 pm
Ontem à(s) 2:04 pm
Ontem à(s) 11:55 am
Qui Jul 19, 2018 5:20 pm
Qui Jul 19, 2018 4:29 pm
Qui Jul 19, 2018 3:13 pm
Qui Jul 19, 2018 2:29 pm
Qui Jul 19, 2018 10:14 am
Qui Jul 19, 2018 10:10 am
Qui Jul 19, 2018 1:11 am
Qua Jul 18, 2018 9:18 pm
Qua Jul 18, 2018 9:13 pm
Qua Jul 18, 2018 8:04 pm
Qua Jul 18, 2018 5:33 pm
Qua Jul 18, 2018 4:28 pm
Qua Jul 18, 2018 4:26 pm
Qua Jul 18, 2018 4:09 pm
Qua Jul 18, 2018 1:52 pm
Qua Jul 18, 2018 11:30 am
Qua Jul 18, 2018 10:10 am
Qua Jul 18, 2018 9:36 am
Ter Jul 17, 2018 11:46 pm
Ter Jul 17, 2018 8:57 pm
Ter Jul 17, 2018 6:44 pm
Ter Jul 17, 2018 5:38 pm
Ter Jul 17, 2018 5:37 pm
Ter Jul 17, 2018 5:34 pm
Ter Jul 17, 2018 3:58 pm
Ter Jul 17, 2018 3:35 pm
Ter Jul 17, 2018 1:51 pm
Ter Jul 17, 2018 12:15 pm
Seg Jul 16, 2018 8:15 pm
Seg Jul 16, 2018 5:01 pm
Seg Jul 16, 2018 4:01 pm
Seg Jul 16, 2018 3:08 pm
Seg Jul 16, 2018 2:11 pm
Seg Jul 16, 2018 1:32 pm
Seg Jul 16, 2018 9:55 am
Dom Jul 15, 2018 11:46 pm
Dom Jul 15, 2018 10:34 pm
Dom Jul 15, 2018 10:32 pm
Dom Jul 15, 2018 10:03 pm
Dom Jul 15, 2018 2:05 pm
Dom Jul 15, 2018 12:42 am
Dom Jul 15, 2018 12:35 am
Sab Jul 14, 2018 11:38 pm
Sab Jul 14, 2018 8:06 pm
Sab Jul 14, 2018 6:54 pm
Sab Jul 14, 2018 4:23 pm
Sab Jul 14, 2018 9:44 am
Sab Jul 14, 2018 9:42 am
Sab Jul 14, 2018 12:58 am
Sex Jul 13, 2018 11:09 pm
Sex Jul 13, 2018 10:20 pm
Sex Jul 13, 2018 8:28 pm
Sex Jul 13, 2018 2:11 pm
Sex Jul 13, 2018 12:39 pm
Sex Jul 13, 2018 11:01 am
Sex Jul 13, 2018 10:31 am
Sex Jul 13, 2018 8:53 am
Qui Jul 12, 2018 11:07 pm
Qui Jul 12, 2018 10:52 pm
Qui Jul 12, 2018 10:14 pm
Qui Jul 12, 2018 9:27 pm
Qui Jul 12, 2018 8:05 pm
Qui Jul 12, 2018 7:33 pm
Qui Jul 12, 2018 7:12 pm
Qui Jul 12, 2018 6:29 pm
Qui Jul 12, 2018 6:11 pm
Qui Jul 12, 2018 5:04 pm
Qui Jul 12, 2018 4:10 pm
Qui Jul 12, 2018 3:41 pm
Qui Jul 12, 2018 3:05 pm
Qui Jul 12, 2018 11:38 am
Qui Jul 12, 2018 10:27 am
Qui Jul 12, 2018 10:27 am
Qui Jul 12, 2018 10:05 am
Qui Jul 12, 2018 9:51 am
Qui Jul 12, 2018 1:16 am
Qua Jul 11, 2018 7:25 pm
FelipeSouza11
FelipeSouza11
hetrodo
Teio
ruanzikaad
Callyde Jr
Dom3000
NKKF
Edw223
Callyde Jr
Callyde Jr
CaioItz
CaioItz
kaufergomi
FelipeSouza11
Unidade3d5
vitorhugo
Tiago95
RafaelSquid1
NKKF
Tegh
Callyde Jr
MRX
natanael.olimpio
LucioHenrique890
Isabela
dstaroski
dstaroski
QueriaStarMorto
Extreme Craft
Mourao
Tegh
LucasF
rafilkl2
vitorhugo
FelipeSouza11
QueriaStarMorto
Tegh
dstaroski
RafaelSquid1
JohnRambo
Callyde Jr
Dom3000
dstaroski
dstaroski
dstaroski
Dom3000
RafaelSquid1
LucioHenrique890
RandomStuff
marciosilva
MRX
natanael.olimpio
andradetd
NKKF
FelipeSouza11
dstaroski
Nalfam
hetrodo
LucioHenrique890
dkrazor
NKKF
Tegh
Tegh
AprDev
NKKF
Tegh
dstaroski
gcs13
gcs13
LucioHenrique890
Nalfam
Tegh
Picode
RafaelSquid1
FelipeGD
igorobm
igorobm
RafaelSquid1
Locodapraça
LucioHenrique890
FelipeGD
FelipeGD
NKKF
Nalfam
NKKF
Eduardoro39
FelipeGD
FelipeGD
FelipeGD
RafaelSquid1
Zack2
NKKF
RafaelSquid1
jhobert77
Tiago95
NKKF
FelipeGD
FelipeGD

[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 : 288
REPUTAÇÃO : 108
Áreas de atuação : Unity, Rpg Maker, Scratch, C#, PHP, 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
Membro
Membro

Masculino PONTOS : 292
REPUTAÇÃO : 22
Á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 : 3525
REPUTAÇÃO : 856
Idade : 29
Áreas de atuação : Téc. Hardware e Redes, Programação C#, Daz3D and Gimp

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
Membro
Membro

Masculino PONTOS : 73
REPUTAÇÃO : 13
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