Transcrições
1. Introdução: Bem-vindos ao C Sharp para iniciantes. Curso passo a passo. Neste vídeo, vou dar-lhe uma breve visualização do que esperar no curso, como tirar o máximo proveito dele e o que você vai aprender na primeira seção. Projetei este curso para ensinar-lhe os conceitos e características mais importantes da programação e da linguagem nítida C. Nós estaremos construindo uma aplicação de equipe A muito simples neste curso e as principais partes
do mar Sharp linguagem serão todos usados para fazer isso. Vou ensinar-lhe uma característica da língua e vamos aplicá-la imediatamente. Em um cenário real, o governador está apenas a tempo aprendendo e fazendo isso. Os conceitos vão ficar com você. Quando você terminar o curso, sua base na língua será sólida e você será capaz de seguir em frente e construir aplicações mais sofisticadas C afiado. Cada vídeo neste curso em que criamos código tem um download do produto acabado
no recurso é seção. Isso deve ajudá-lo a superar problemas em que as coisas simplesmente não estão funcionando para você. Nesse vídeo em particular, entanto, encorajo-o fortemente a evitar o produto francês, a menos que você esteja tendo problemas. O primeiro obstáculo que você tem que superar ao aprender uma nova linguagem de programação é a sintaxe. Até que você possa sentar e escrever código sem pensar na sintaxe, você está desperdiçando ciclos cerebrais. Supere o código você mesmo. Pratique andar em código nítido C até que você esteja completamente confortável fazendo isso. Até mesmo ir tão longe. R. Ainda exclua o código e escreva-o novamente até poder fazê-lo a partir da memória. A melhor maneira de aprender uma linguagem de programação é repetição uma e outra vez até que seja a segunda natureza. Nesta seção, começaremos com os requisitos básicos da aplicação A T M. Os requisitos serão definidos e apresentados de uma forma que um produto real que você está sendo pago para criar possa ser apresentado. Então vamos olhar para por que C. Sharp é uma grande linguagem de programação de nível iniciante e o que você pode ser capaz realizar o C afiado. Que tipo de plataformas de linguagem suporta alguns dos frameworks disponíveis e assim por diante? Então eu vou ajudá-lo a obter a versão mais recente do Visual Studio baixado e instalado em sua máquina. Finalmente, vou mostrar-lhe como navegar dentro do Visual Studio e como usar o programa. No próximo vídeo, analisaremos os requisitos da aplicação A T M.
2. Requisitos de aplicativos de ATM: neste vídeo, vou rever os requisitos básicos de aplicação 80 M. Há um par de coisas que você deve saber sobre os requisitos primeiro, quase nunca dado a você em um estado completo. Será seu trabalho fazer perguntas. Isso ajuda a lembrar que, provavelmente, o requisito se originou de uma idéia. É apenas um provável que a idéia veio de uma pessoa de negócios e ainda mais provável que a pessoa que teve a idéia original não colocou muito pensamento em coisas como segurança, desempenho, capacidade de
manutenção, reutilização e validação. Você tem que considerar todos esses pontos e mawr ao implementar da exigência. Em segundo lugar, os requisitos que você recebe provavelmente tocarão em outros requisitos que não são mencionados no requisito que você recebeu. Vale a pena pensar para a frente e tornar seus códigos extensíveis quanto possível. Por exemplo, o mesmo. Temos um requisito básico para validação de um campo que tenha um número de telefone baseado nos EUA, então você implementa esse requisito mais tarde, obtém outro requisito para validar outro campo que tenha um número de telefone baseado nos EUA e ainda mais tarde você obtém outro requisito para validar campos de números horríveis e a validação levou em conta o código do país que foi selecionado pelo usuário. Dependendo do trabalho que você fez, você pode ter que removê-lo completamente, e você pode até ter código duplicado em seu sistema, e você terá que fazer alterações em vários lugares diferentes. Você poderia ter evitado a maior parte deste problema com o design adequado. Como um aviso de isenção de responsabilidade, obtive requisitos que eram tão completos ou até mais do que seriam se eu mesmo os
tivesse feito. Mas as primeiras 2 regras serão aplicadas. Na maioria das vezes, você menos vai se encontrar nessa situação mais do que não. Vamos passar para os requisitos básicos para o aplicativo de equipe A. Como usuário, eu gostaria de poder entrar no aplicativo com um número de conta de quatro dígitos e número PIN de
quatro dígitos. Este é um requisito bastante simples, obviamente, em um tm re elei, você tem um carro que você inserir e a panela deve coincidir com o número do pino que é armazenado para o cartão. Mas, por enquanto, isso só vai notar o que não é mencionado. E se uma combinação inválida for inserida? O que aconteceria se um usuário tentasse 10 ou 12 vezes fazer login com credenciais de volta. Como usuário, eu gostaria de ser capaz de sair do aplicativo novamente. Este é um requisito fácil, e se você pode fazer login, você deve ser capaz de sair como um usuário. Eu gostaria que o dedo do pé do sistema tem um menu principal que é acessível a partir de todas as outras telas
do aplicativo. Você vê algo errado com este requisito? Observe que ele não tem nenhum detalhe sobre o que a tela deve ter. Como usuário, gostaria de poder ver o saldo da minha conta novamente. Este é um requisito simples, mas o detalhe está faltando. Como usuário, eu gostaria de poder fazer depósitos em minha conta. Há detalhes faltando aqui, também, mas vamos ignorar isso por enquanto. Como usuário, gostaria de poder fazer levantamentos da minha conta. E se o usuário tiver menos dinheiro na conta que deseja retirar? E se for exatamente a mesma quantidade que o usuário tem em sua conta? Como usuário, gostaria de poder ver todas as minhas transações mais recentes. Quantos exatamente? E se não houver nenhum há mais de um ano? E se houver milhares na semana passada? Como você pode ver, você quase sempre terá mais perguntas do que respostas. Você precisará ter uma conversa com o Stakeholder, o analista de negócios ou a pessoa que criou o requisito. No próximo vídeo, estaremos configurando seu ambiente de desenvolvimento.
3. Por que C#: Neste vídeo, vou argumentar porque acredito que C. Sharp é uma ótima língua para você aprender. Eu quero dizer imediatamente, o mar curto pode não ser o melhor idioma para todos. Se você está olhando para montar um sistema operacional como o Windows ou inclinações, C Sharp é de fato o idioma errado para você aprender. Você deve estar olhando para C ou C plus, se você está tentando criar algo que absolutamente deve funcionar diretamente com hardware, C Sharp não é a melhor escolha. Mas se essas duas categorias não o fizerem, você sai. C Sharp é provavelmente uma ótima língua para você aprender. Vamos começar com o idioma e os recursos. C. Sharp é uma linguagem moderna e de alto nível. Isto significa que está mais perto de palavras faladas do que linguagens de nível inferior, como assembly ou C. A linguagem
tem, no entanto, uma sintaxe de estilo C. Isso tem sido oficial porque existem muitas linguagens que têm uma sintaxe concha, e isso significa que se você aprender, veja se você vai ter um tempo mais fácil pegar outra linguagem baseada em assento como Java C plus ou Java script. Eles parecem e se comportam de forma semelhante. C Sharp está em demanda. Vou dar alguns pontos de prova mais tarde neste vídeo, mas é consistentemente uma das cinco linguagens de programação mais populares. C Sharp é uma linguagem fácil de pegar, mas tem um fôlego que torna difícil dominar. Em muitos casos, existem várias maneiras diferentes de realizar uma única tarefa, o que torna mais difícil dominar. C. Sharp tem uma comunidade extremamente forte em torno dele. A Microsoft é sempre feito um trabalho maravilhoso para apoiar o idioma e certificar-se de que a documentação é inigualável. E há milhões de exemplos por aí. Se você quiser fazer algo, quase qualquer coisa, você pode encontrar um exemplo ou milhares na Web para apenas isso. Grande parte da linguagem C Sharp é de código aberto, e tem
um padrão de enigma ou E. C. M. C.
M.A, que é publicamente disponível, mas de propriedade da Microsoft. Recentemente, o framework Dark Knight também foi disponibilizado publicamente e open source e tem uma versão rodando em Lenox e Eilis. C. Sharp está evoluindo rapidamente, e isso é muito importante. Quando C. Sharp foi introduzido pela primeira vez, era claramente uma imitação do Java de muitas maneiras. Agora, no entanto, Java parece ser um pouco de uma imitação de C Sharp, e a linguagem Java está seguindo e veja passos de shorts. Uma nova versão do C Sharp é lançada a cada dois anos, e cada lançamento sempre tem alguns recursos realmente excelentes. Como eu mencionei antes, C Sharp pode ser usado para grandes programas em plataformas além de apenas janelas, e para mim, que aumenta drasticamente seu apelo. Finalmente, usando C sharp significa que você pode usar o estúdio visual. O que estou prestes a dizer pode ser considerado controverso. Visual Studio é de longe o melhor ambiente de desenvolvimento disponível, gratuito ou comercial. Alguns vão rir disso e dizer que eles são mais produtivos em VM ou penhascos ou algum outro ambiente de desenvolvimento
integrado. Mas aqui está a coisa. Se eles são, é porque eles são sem dúvida um especialista nesses ambientes. No entanto, até que você atinja esse nível de especialistas, há
muito, muito pouca dúvida de que um iniciante e um estúdio visual serão mais produtivos e proficientes do que um iniciante em qualquer um desses outros ambientes. Caso não tenha te convencido, quero te dar uma rápida checagem de algumas coisas que você pode realizar com C Sharp. Se você estiver direcionando o Windows, você tem duas opções WP F ou Windows Presentation Foundation e Universal Windows Platform ou You WP para abreviar, que visa o Windows 10 WP f ainda pode ser usado no Windows 10 Mas você WP é o recomendado caminho para o Windows 10 e versões futuras do Windows. Se você quiser criar aplicativos Web, você tem um SP .net, também conhecido como Web forms e s p dot net. NBC. NBC usa o popular Model View Controller Development Paradigma. Eu recomendaria que se você estiver indo para fazer Web que você tinha na direção NBC, Wet Forms não é tão popular. Atualmente é NBC, e não consigo ver a Microsoft criando muitos novos recursos para essa plataforma específica. Se você precisar criar serviços Web novamente, você tem duas opções. Windows Communication Foundation ou Day Bcf e Web AP I Eu não vou fazer uma recomendação sobre este, como eu usei ambos, mas eu definitivamente prefiro Web A PR. É apenas mais fácil, e W C F nunca realmente ressoou comigo, mas seu conhecimento pode muito se você está segmentando Mobile Zaman permite que você escreva
código nítido C que compila em aplicativos nativos. Zaman suporta IOS, Android e telefone Windows. Claro, IOS e Android são os grandes e cobrem 90 mais por cento do mercado. , no caso de precisar de suporte por telefone do Windows entanto, no caso de precisar de suporte por telefone do Windows, você o tem para a nuvem. O Microsoft Azure é bastante incrível, e, uma vez que é da Microsoft, tem realmente um bom suporte na integração. Mas você pode usar a Amazon Web services. Finalmente, chegamos ao desenvolvimento de jogos, e o gorila de £900 para o desenvolvimento de jogos baseado em C Sharp é Unity três D. Se você é um aspirante a desenvolvedores de jogos, você realmente deve verificar a unidade. Não é apenas pelo suporte de três D para o poço do Dia, e o Unity suporta praticamente qualquer plataforma que você gostaria de segmentar, incluindo IOS, Android Windows, a Web, o PS four, o Xbox um Wii U e Nintendo DS. Se eu não mencionei uma plataforma, você está interessado em verificar unidades site como eles suportam quase 30 plataformas atualmente. Em seguida, vejamos alguns pontos de popularidade primeiro. Quando eu procurei pó ponto com em 24 de fevereiro de 2018 havia cerca de 6000
posições abertas C afiadas . A língua está atualmente classificada como número cinco no Índice de Popularidade da Linguagem de Programação. Você deve verificar o índice para ver como o T o. B classifica, os idiomas e
as fórmulas que eles usam se você quiser números salariais. Glassdoor diz que o desenvolvedor médio C afiado nos Estados Unidos faz cerca de US $80.000 por ano, e o desenvolvedor médio sênior C afiado nos Estados Unidos faz cerca de US $97.000 por ano . Ambos são números bastante impressionantes para algo que você absolutamente não tem que ir para a faculdade para e pode aprender em alguns meses. E como eu mencionei anteriormente neste vídeo, se você aprender C afiado, você pode aprender outras línguas de robalo mais facilmente, e isso vai abrir ainda mais oportunidades de emprego. No próximo vídeo. Ajudarei você a colocar seu ambiente de desenvolvimento em funcionamento
4. Como configurar seu ambiente de desenvolvimento: neste vídeo, vou dar-lhe uma visão geral rápida sobre a instalação do Visual Studio. Abra um navegador para o visual studio dot com. Transferências de barra para frente. Você deve ver as quatro opções na comunidade de tela, empresa
profissional e código. Clique no botão de download do Visual Studio 2017 Community Edition. Este é um download muito rápido quando ele conclui abrir esse programa para cima. Isso pode levar alguns momentos, então sinta-se à vontade para pausar o vídeo até que o instalador seja carregado. Uma vez que o programa é carregado, você deve ser apresentado com uma caixa de diálogo de instalação como a do slide. Certifique-se de que você está na guia cargas de trabalho e você está convidado a pausar o vídeo novamente e
passar por essas opções. Mas certifique-se de selecionar o ambiente de desktop dot net destacado neste slide. Darei uma visão geral rápida das opções mais importantes que provavelmente
lhe interessarão . Eu só quero dar uma palavra de aviso aqui. Se você selecionar um monte de opções nesta caixa de diálogo, seu tempo de download irá multiplicá-lo muitas vezes. Ok, e a seção superior é o Windows Development. A opção de desenvolvimento da Plataforma Universal do Windows permitirá que você desenvolva
aplicativos e aplicativos do Windows 10 para a loja de aplicativos do Windows. A seção de desenvolvimento de desktop dot net é o que vamos usar e definitivamente precisa ser instalado na seção Web e Nuvem. A opção SP dot net e Web development permitirá que você desenvolva um s p dot net e SP .net NBC aplicativos se você selecionar a opção NBC no lado direito. A dor na seção móvel e jogos é tanto Sam quanto para celular e Unity for Game Development. E, finalmente, na última seção sob outros conjuntos de ferramentas, a opção de desenvolvimento de plataforma cruzada dot net core está disponível para o desenvolvimento de aplicativos de
plataforma cruzada . Eu recomendo que, por enquanto, você selecione apenas a opção de desenvolvimento de desktop dot net e na dor direita, basta deixar as opções padrão como estão. Você pode executar este aplicativo novamente a qualquer momento para modificar sua instalação, eo próximo vídeo eu vou orientá-lo através da interface de usuário do Visual Studio
5. Introdução ao Visual Studio: neste vídeo, vou dar-lhe uma breve introdução ao Microsoft Visual Studio, mas uma falha. Quando você inicia o Visual Studio, você deve ver a página inicial na dor da mão esquerda. Todo o projeto mais recente em que você trabalhou será listado. Esta é uma verdadeira conveniência porque, na maior parte, você estará trabalhando nas mesmas coisas dia após dia na dor do meio. Você tem a seção aberta, que permite que você confira projetos do controle de código-fonte, usando serviços de equipe do Visual Studio e obtenha hub. Ambos são grátis, e encorajo-te a verificá-los. Visual Studio Team Services está localizado em www dot visual studio dot com e obter Hub está localizado em www dot get hub dot com. Acessar a função de controle de fonte de cada um desses sites exigirá que você se inscreva para uma conta gratuita, mas ambos valem a pena. O controle de código-fonte é a prática de armazenar seu código em um repositório on-line que você pode usar para controle de versão e fazer backup da versão. Controle significa que cada vez que você verificar uma queda no sistema de controle de versão irá criar uma nova cópia do Foul. Você pode ver as versões anteriores para ver o que mudou ao longo do tempo. Abaixo da seção de check-out, você pode abrir uma solução de projeto ou foto do disco usando um diálogo aberto padrão. Você também pode abrir um projeto Web a partir do disco ou conectar-se a um servidor Web para editar esses projetos abaixo da seção aberta. Você tem a nova seção do projeto. Na metade inferior desta seção, você encontrará todos os modelos de projeto que você usou recentemente. Por baixo. A lista de modelos de projeto recente é um link de criação de novo projeto, que abrirá o diálogo Assistente para Criar Novo Projeto, onde os modelos são agrupados em funções semelhantes. Acima da lista de projetos recentes está uma caixa de texto onde você pode pesquisar todos os modelos
que você instalou em sua máquina para um projeto específico. Top Se eu digitar em um sp dot net um interno, eu vou ver uma lista de todos os modelos de projeto para ter um s p dot net no nome do modelo que eu instalei. A dor de presunto certa é a notícia do desenvolvedor que é publicada e mantida pela Microsoft. Eu não tenho muito uso com as notícias, então eu sempre minimizá-lo, mas você, como um novo desenvolvedor, pode encontrar alguns bons artigos lá de vez em quando. Vamos mover o sistema de menu do estúdio visual e falta. Temos um item de menu para novo que permitirá que você crie um novo site do projeto, e assim um usando o assistente que vimos anteriormente. Há também um menu aberto Adam que permite que você abra um projeto ou solução ou um site
como a página inicial para a parte inferior. Há um menu de arquivos recentes, Adam que mostrará uma lista de seguimentos que você abriu recentemente, e abaixo está um projeto recente e soluções sendo você, Adam, que mostrará uma lista de projetos e soluções que você tem abriu recentemente. Visual Studio é um ambiente com janelas dentro da janela principal do Visual Studio. Muitas vezes, você terá dezenas de janelas de ferramentas abertas em três dores diferentes na esquerda , direita e inferior e no menu Exibir. A maioria dos itens de menu filho são janelas, e há mesmo mawr sob o outro menu do Windows Adam. Há também muitas barras de ferramentas que você pode mostrar ou ocultar que executam uma variedade de funções sob o menu de ferramentas na parte inferior, há um menu de opções. O Adam. Se você quiser personalizar o Visual Studio, provável que a configuração esteja neste diálogo. Existem milhares de maneiras de personalizar o ambiente, mas para a maioria das pessoas, as configurações padrão estarão bem. Há algumas configurações para as quais quero chamar sua atenção. Sob o meio ambiente. O primeiro título é fontes e cores. Se você tiver problemas para ver o texto na tela, ou se o Texas muito grande, você pode ajustar isso aqui. O segundo é atalhos de teclado. Isso permitirá que você atribua novos atalhos aos átomos existentes ou crie seus próprios. À medida que você se tornar mais experiente, você vai encontrar-se usando o mouse menos e confiar no teclado mais e atalhos se tornando muito importante. O último homem que quero mostrar é a janela. Quanto mais você usar
o Visual Studio, mais você vai querer que ele seja de uma certa maneira. Quando estiver satisfeito com o layout, você pode salvá-lo com o layout da janela Salvar. Menu Adam. Depois de salvar um layout, você pode restaurá-lo. Layout a qualquer momento com o menu de layout da janela de aplicação Adam
e, finalmente, você pode redefinir o layout da janela para os padrões de fábrica com o menu de layout de redefinição. Adam, vamos dar uma olhada no estúdio visual um pouco. Todas as janelas de ferramentas no Visual Studio podem ser fixadas, e eu sou fixado e redimensionado. Você pode personalizá-lo de acordo com seus joelhos e com o que você está trabalhando. O Visual Studio também se lembra da ordem da janela. Se você notar a solução, Explorer janelas na haste superior e a janela de propriedades está na parte inferior, direita. Eu vou, hum, fixar os dois. E se eu os abrir novamente, eles voltam para onde estavam. Antes de estar no pino, você vai notar que você tem várias janelas na parte inferior. Indiscutivelmente, a lista aérea é a mais útil, pois eles lhe darão detalhes sobre erros em seu código antes de ser compilado. O Visual Studio também oferece suporte a exibições de dor dividida. Vou abrir para quedas de código e, em seguida, usar uma visão de problema dividida para a área de código. Isso é ótimo para comparações lado a lado. A última coisa que quero mostrar é como depurar. Depuração é a prática de percorrer o código como ele é executado para ver em primeira mão. O que está acontecendo Depuração é chamado de depuração porque geralmente é o que acontece quando você estava rastreando bugs em seu código. Na extrema esquerda, roube a janela de código, você verá uma fina faixa cinza. Você pode definir pontos de quebra em qualquer linha que tenha executado código BLE nele clicando na faixa . Os pontos de quebra são úteis porque impedem a execução do código. Se você conhece a área do seu código que está tendo um problema específico, isso irá salvá-lo de percorrer tudo o que você pode apenas definir um ponto de interrupção onde o problema está e começar por aí. Então eu enviei um ponto de interrupção e você verá que a execução do programa pausas Quando ele é
atingido , você pode dizer pela maneira como a linha vermelha ficou amarela. Você pode remover um ponto de interrupção clicando no mesmo ponto novamente. Para facilitar a depuração, quero chamar sua atenção para três itens diferentes da barra de ferramentas na parte superior da tela. O primeiro a entrar na tecla de atalho para entrar é F 11. Você vai usá-lo muito quando você está depurando e você tem um método sendo chamado. Você pode entrar nesse método e ver o que está acontecendo lá. A próxima barra de ferramentas, outono é um passo acima. Ele faz exatamente o oposto de passo em, pisando sobre métodos chamados. A tecla de atalho para passar é F 10. Finalmente, o passo para uma barra Adam vai sair de um método que você pisou, e que o atalho de teclado é shift F 11. Preste atenção a isso enquanto o bug. Você tem um bom controle sobre muitas coisas. Como você pode ver, eu inseri 1234 para este prompt durante a depuração. Embora eu possa passar o mouse sobre a variável que contém o valor 1234 e alterá-lo, vou adicionar um cinco para o final, e como você pode ver, ele agora mudou. Você pode fazer o mesmo na janela de ferramentas locais na parte inferior da tela. Vou adicionar um seis. Agora, se eu passar o mouse sobre a variável novamente, você verá que o valor foi alterado para 123456 Isso conclui a turnê para o Visual Studio. Eu sei que pode parecer um pouco esmagador, porque é um grande produto, mas basta usar o que você tem que e os alunos Ugo. No próximo vídeo, estaremos na Seção dois e começaremos a olhar para C Sharp
6. Introdução de C#: nesta seção, vamos começar a nossa aventura em C afiado. Primeiro, vamos aprender sobre o modelo de projeto de aplicativo do console do Visual Studio e para que você pode usá-lo. Em seguida, vamos aprender como criar e usar variáveis e como escopo corretamente qualquer que você pode precisar criar. Em seguida, vamos construir a tela de login para o aplicativo e começar a olhar para a lógica de controle usando instruções FL depois, se mais vamos olhar para como autenticar usuários em nosso aplicativo, e então vamos aprender sobre propriedades, métodos e construtores como eu vou usar cada um e como escoá-los corretamente. Depois disso, vamos aprender mais sobre a lógica de controle, olhando para instruções de caso switch. E então vamos construir a tela do menu principal após a tela do menu principal. Vamos olhar para um par de métodos diferentes disponíveis para nós para manipular strings, e então vamos construir a tela de balanço de exibição. Após a tela de balanço de exibição. Vamos levar alguns minutos para examinar como a matemática e ver funciona afiada. Em seguida, vamos construir a tela de depósito após a tela de depósito terá uma olhada nas
regras de negócios e, em seguida, construir a tela de retirada e, em seguida, dar uma olhada em um aumento, listas e genéricos. Em seguida, vamos dar uma olhada nos diferentes loops que podemos usar e, em seguida, construir a
tela de transação recente . Após a tela de transação recente, vamos aprender como o Link funciona e, em seguida, construir suporte no aplicativo para mais de um usuário. Finalmente, vamos rever e notícias e, em seguida, corrigir alguns bugs que existem no aplicativo. No próximo vídeo, começaremos com aplicações de cônsul.
7. Aplicativos de console: Neste vídeo, vamos olhar para aplicativos de console e seus usos. As aplicações de cônsul são o tempo de aplicação mais básico à beira-mar. Eles não têm a interface de usuário típica a que estamos acostumados. Em vez disso, usuários interagem com eles a partir da linha de comando inserindo comandos na forma de texto e lendo a saída de aplicativos da mesma janela. Como seu básico e não necessariamente exigem interação de um usuário, isso os torna a escolha perfeita do projeto para executar tarefas repetíveis onde as condições e entradas já são conhecidas. Isso pode ser executado a partir da linha de comando e de outros aplicativos. ímpeto para uma aplicação de cônsul aconteceu de duas maneiras. Os primeiros argumentos podem ser especificados quando o programa é iniciado. Os aplicativos do Segundo Cônsul podem retirar o texto inserido pelo usuário de duas maneiras. Ponto cônsul Reekie e conselho ponto reid Linha ambos ponto cônsul Reekie e ponto de console Reid Line executar uma ação de bloqueio, e execução do programa pára até que o texto é inserido. Conselho ponto Reekie lê a primeira tecla pressionada pela linha ponto reid console usuário lê todo o texto. O usuário é inserido assim que pressionar a tecla Enter. Obter dados de uma aplicação de cônsul é muito semelhante. Cônsul ponto direito e console Die. Linha direita. Certo. Texto para a consola da janela da consola. Die right irá substituir o texto na linha atual onde o cursor está e console que a
linha direita irá criar uma nova linha. E eu coloquei o texto lá. No próximo vídeo, vamos olhar para C variáveis nítidas.
8. Variáveis: variáveis são uma representação na memória de um pedaço de dados. São compostas de três partes. As variáveis superior o nome das variáveis e as variáveis de valor devem ser declaradas, e isso é mais comumente chamado de declaração de variável. Nessas duas declarações de variáveis, você vê o padrão da cadeia de caracteres superior e a saudação de nome e primeiro nome no primeiro. O valor das variáveis é definido durante a declaração no segundo. O valor das variáveis definido após a declaração, mas ambas as instruções são essencialmente as mesmas. principais variáveis de nome e valor são importantes porque representam dados que são programas podem manipular e usar. Existem dois tipos principais de variáveis. Principais de referência e valores máximos. Referência. As principais variáveis são, na verdade, uma referência a um pedaço de memória. Se duas variáveis principais de referência apontarem para o mesmo pedaço de memória, alterar o valor dessa memória para uma variável também mudará o valor para a outra variável. Valor variáveis superiores ar diferente. Eles são sempre pequenos e, na verdade, abrigam o valor. Se você atribuir uma variável superior de valor e copiar esse valor para outra
variável superior de valor , o valor será realmente copiado. Esta tabela mostra a lista de valores máximos para 99% dos casos de uso. Você pode usar as seguintes seqüências de caracteres de mapa variáveis para dados alfanuméricos e para números , dobro para números de precisão com a casa decimal e o número de dígitos após a importância da casa
decimal. Mas para dados binários, como um touro de arquivos para valores falsos verdadeiros e longos para números muito grandes após 18 anos, eles ainda estão no topo da lista de valores que eu não usei. E você provavelmente também não. No próximo vídeo, discutiremos o escopo suportável e os modificadores de acesso.
9. Âmbito de variável e modificadores de acesso: determina a visibilidade de uma variável para o resto do programa. Em suma, as variáveis geralmente são escopo para o objeto em que são criadas. Isso inclui métodos. Métodos serão cobertos pela morte em um módulo posterior, mas devemos tocá-los aqui se você quiser ter uma compreensão do escopo arável. Um método é um bloco co que contém uma ou mais instruções de código. Eles são definidos por sua assinatura, que é o nome de retorno superior e argumentos como este. A primeira linha dupla calcular imposto valor duplo é o método. A assinatura, como eu disse, é o máximo de valor. O método retorna o nome do método e os argumentos que devem ser passados para o método para que ele faça o seu trabalho. O imposto duplo variável é declarado no método de cálculo de imposto,
portanto, é visível apenas para este método, e isso significa que o escopo da variável é limitado apenas a este método. Aqui está outro exemplo. Esta é a classe do gerador de saudações. A classe gerador de saudação contém a variável de saudação porque a variável de grade foi declarada no nível da classe e não em um método. O escopo variável para a classe e qualquer método na classe pode fazer uso da
variável saudação como o método de exibição de saudação percebe a assinatura do
método de exibição de saudação . Ele retorna vazio, o que significa que não ou nada evitar o retorno. Tempo significa que o método de classificação de exibição não retorna e realmente não pode retornar um valor quando executado. Aqui está um exemplo final tomou ter escopo variável novamente. Temos a classe gerador saudação ea variável grade ainda está disponível. Mas o método de criação de alteração mudará o valor para a variável de saudação. Quando uma variável com escopo no nível de classe tem seu valor alterado, ele será alterado para todos os métodos que fazem uso de acordo insuportável. Por esse motivo, sempre erre do lado da cautela e limite o escopo de todas as variáveis que você estiver usando. Se a variável é realmente necessária em mais de um método, uma declaração de nível de classe pode ser justificada. Mas se não for declarado no nível mais baixo possível, o que normalmente significa que no método, usando os modificadores de acesso variável são uma maneira de alterar a visibilidade das propriedades, que são algo semelhante às variáveis, métodos e até mesmo classes inteiras. No outono, qualquer classe que você criar não fica visível. Isso é conhecido como privado, assim como escopo variável. Você deve sempre errar no lado da cautela e obter classes, métodos e propriedades a menor visibilidade que é necessária. Esta tabela em uns,
os diferentes modificadores de acesso. Há um par de termos que você pode não reconhecer nesta tabela, e assembly é uma compilação Dr Object. Há dois tops diferentes. Montagens de processo, eixos orry e biblioteca Singhalese ou D L. Els e Excede podem ser executados por conta própria. E dll zehr, usado por outros assemblies como bibliotecas funcionais ou, em outras palavras, código que poderia ser executado por outro assembly. Herdado foram herança é um princípio chave de programação orientada a objetos, ou O lt. Isso significa que a classe pode herdar a funcionalidade de outra classe. Isso cria um relacionamento pai-filho. Reserve um momento e pause o vídeo para revisar a tabela. Se você ainda não fez isso, todos os modificadores de acesso listados na tabela podem ser aplicados às classes. Isso é importante porque a visibilidade da classe afeta diretamente a visibilidade de quaisquer métodos, propriedades ou variáveis contidas nessa classe. Por exemplo, se você declarou uma classe como interna, mas tem um método público. Esse método será automaticamente restrito ao interno, uma vez que apenas outras classes no mesmo assembly podem ver a classe. No próximo vídeo, começaremos a construir a tela de registro.
10. Tela de login: Neste vídeo, vamos construir a tela de login, iniciar o Visual Studio e clicar no link Criar Novo Projeto na parte inferior da
seção do novo projeto . Aqui você verá uma lista de topos de projetos. Selecione o projeto Cônsul app dot net Framework que você também pode ver um cônsul no dot net core projeto Top está bem, dependendo do que você instalou, mas selecionou a versão dot net framework e na
caixa de texto nome na parte inferior da caixa de diálogo . Digite o nome de T m. Sua versão pode demorar mais ou menos para carregar. Se esta é a primeira vez que você executou o Visual Studio, quase certamente levará mais tempo. Pode demorar 30 segundos. Isto é tudo o que temos com um projeto de console estático vazio principal é o que é conhecido como o
ponto de entrada do aplicativo. Estática é algo novo que nunca tocamos antes. Quando o modificador estático é anexado a uma classe, isso significa que a classe não pode estar em Stan Shih ated ou criado. Isso também significa que na memória só pode haver uma cópia de uma estática. O objeto é singular também aulas estudadas só podem ter métodos estáticos. Um método estático em uma classe não estática, no entanto, é um pouco diferente. Isso significa que o método pode ser chamado sem uma postura, criando uma instância da classe eo método principal que vamos criar para
variáveis string toe hold os prompts para o usuário. O primeiro é prompt de número de conta, e vamos definir o valor dessa variável Teoh número de conta interna. O segundo será o prompt de número PIN, e esse valor estará em seu número PIN. Usando o ponto da linha direita do console, vamos solicitar o número da conta do usuário. Vamos então criar outra variável string chamado número de conta para armazenar sua resposta. Em seguida, solicita o número PIN com ponto cônsul linha direita, e vamos criar outra variável string chamada número pin para armazenar essa resposta. Finalmente, vamos adicionar um ponto console Reekie apenas para manter o programa de acidente. Por enquanto, isso é tudo o que precisamos fazer. Precisamos aprender algo novo antes que possamos autenticar o usuário e permitir que ele entre no sistema. Vamos rodar o aplicativo e ver o que conseguimos. Devemos obter um prompt para inserir o número da conta e outro prompt em nosso membro do poço, tudo parece estar funcionando. No próximo vídeo, aprenderemos sobre se afirmações.
11. Se declarações: Neste vídeo, vamos estar olhando para as declarações da FL. Se as instruções else também são conhecidas como lógica de controle, eles são frequentemente usados para controlar o fluxo de um aplicativo. Se uma afirmação for verdadeira, percorra este caminho se não for percorrer este outro caminho. Se mais declarações são usados para avaliar expressões da lógica booleana, vamos olhar para uma série de exemplos e passar por uma explicação de cada um. Neste exemplo, estamos fazendo uma comparação de duas variáveis A e B. O valor dessas duas variáveis não é realmente importante agora. O sinal duplo de igual é o que é conhecido como Operador de Igualdade. O Operador de Igualdade compara os valores no lado esquerdo com o lado direito do sinal de
igual duplo . Um único sinal de igual atribuirá um valor, mas um sinal duplo de igual reforma uma comparação entre a esquerda e o passeio. Neste exemplo, não
adicionamos a etapa. Se a e B forem iguais, executamos as mesmas ações que um último slide. No entanto, se eles não são iguais, nós executamos o código else em uma instrução if else em Lee, um conjunto de código irá executar ou o código no bloco F será executado ou o código e o bloco else irá executar. Neste exemplo, novamente não
estamos fora de passo. Se precisarmos testar mais de uma condição separadamente, podemos executar uma declaração else if. Isso é diferente da condição else porque estamos testando para uma segunda condição. Nós ainda não temos mais bloco para capturar quaisquer condições que não são especificamente testadas para, mas senão se blocos são boas maneiras de evitar instruções if aninhadas, que é uma instrução if aninhada dentro de outra, if instrução aninhada, Se else declarações podem rapidamente ficar fora de controle e tornar-se difícil de ler e entender se você correr em condições que exigem aninhado. Se as declarações e há muitas razões pelas quais isso pode acontecer, tente encontrar uma maneira de tornar o código mais fácil de ler e entender sua vontade futura. Obrigado. Neste exemplo, estamos testando para um valor booleano real na primeira instrução if estavam literalmente dizendo, Se verdadeiro, no entanto, eu queria mostrar este exemplo porque a segunda instrução tem um pouco de tempero notar o ponto de exclamação no início do ensaio. Neste contexto, o ponto de exclamação significa não tão no segundo estavam realmente dizendo, se não verdadeiro ou falso. Um último exemplo. Essas declarações são um pouco mais complexas, e a primeira, se a declaração estava realizando dois testes diferentes, o duplo e para Sam Means. E assim o estigma diz, se a é menor que B e C é menor que D, na segunda declaração s, estavam realizando dois testes diferentes. E se qualquer um for verdadeiro, o código na instrução if será executado. O Devil pat significa ou assim o segundo, se declaração, diz que se B é maior que A ou C é maior que D, esta é uma lista dos operadores mais comuns que você verá igual Sue não é igual a
maior que ou é igual a duas últimas coisas e menor que ou igual a dio. Há muitos que não estão nesta lista, entanto, mas em uma lista exaustiva seria quase impossível porque qualquer coisa que pode ser avaliada até um teste brilhante pode ser um operador, e você verá mais de o que está nesta lista à medida que nos movemos ao longo do curso. Vários desses operadores são mais comuns com testes numéricos, mas duas strings podem ser testadas com iguais e não iguais. Justiça para números pode ser No próximo vídeo, vamos trabalhar na autenticação do usuário.
12. Autenticar o usuário: neste vídeo, vamos trabalhar na autenticação de um usuário. Este será um vídeo bastante curto porque o que estamos tentando realizar é muito simples. Por enquanto, vamos fazer a coisa mais simples que funciona. Nosso sistema permitirá apenas um usuário no início do método principal. Crie um valor de string. Para manter o número da conta, vamos usar o nome que o número de conta esperado e dar-lhe um valor de 1234 Criar outra variável string toe. Segure o número do pino que estamos esperando e dê um valor de non non non non non. Em um vídeo mais tarde. Criaremos a capacidade de vários usuários se conectarem. Mas por enquanto, isso nos dá o que precisamos e nos permitirá progredir no final do método e antes do console não ler a chave. Vamos adicionar qualquer declaração se comparando o valor que temos registrado para membro da conta para o número de conta
esperado e o valor que registramos para o número PIN para o número PIN esperado , vamos agrupar essas duas condições dentro e dobrar em para San. Se ambos coincidirem, vamos simplesmente imprimir uma declaração dizendo autenticação bem-sucedida e no Els. Se a autenticação falhar, vamos imprimir uma declaração dizendo que a autenticação falhou. Vamos executar o programa. Vou inserir as credenciais corretas e testar esse cenário 1st 1234 para o número da conta e quatro noves para o número do pino que ele funciona. Aperte qualquer tecla para sair. Vamos executar o programa novamente e, você sabe, credenciais
inválidas apenas para ter certeza de que recebemos a mensagem derrubada do outro bloco All Inter 9999 como o número da conta e 1234 é o número PIN que funciona bem. Ótima. No próximo vídeo, discutiremos propriedades, métodos e construtores.
13. Propriedades, métodos e construtores: Neste vídeo, vamos discutir propriedades, métodos e construtores. Você deve se lembrar que eu mencionei em um vídeo anterior que propriedades ar semelhante a variáveis. Eles são membros de dados públicos aos quais você pode restringir o acesso com modificadores como públicos ou internos. No entanto, propriedades ar campos realmente especiais chamados sucessores, sua implementação se parece com isso neste exemplo. Você vê, nós temos um armazenamento de apoio criado para o saldo de propriedade com uma variável chamada sublinhado Propriedades de
equilíbrio podem ter um centro juntos ou ambos. O get de uma propriedade retorna o saldo de sublinhado da loja de apoio. O conjunto atribuirá um novo valor à loja de apoio, saldo de
sublinhado O get em vez de uma propriedade pode ter diferentes modificadores de acesso para que você
possa ter um get público e um conjunto privado uma propriedade de leitura escrita terá ambos os de get e conjunto de leitura. Apenas propriedade só terá um get e muito raramente você vai ver direito apenas propriedades com apenas um centro. Se uma propriedade não precisa ter lógica dentro do getter ou centro, você pode criar uma propriedade implementada outono como esta. Aqui, Veja, Sharp irá criar a loja de apoio de uma propriedade para você definitivamente é menos CO. Mas tem suas limitações. Com uma propriedade implementada automaticamente, você não tem controle real sobre o valor de sua propriedade porque você não pode executar qualquer topo de lógica ou validação. Eu encorajo você a usar propriedades auto-implementadas quando você pode, mas não correr riscos se você precisa executar algum tipo de lógica em sua loja de apoio ou controlar o que é atribuído à loja de apoio. O método manual mais longo é o único método de rota ou co blocos que contém uma ou mais instruções de
código. Eu vou ver código nítido é executado no contexto de um método porque cada
aplicativo C sharp tem o método principal que falamos em um vídeo anterior. Também em um vídeo anterior, você pode lembrar que os métodos são definidos por suas assinaturas, que é o modificador de acesso, o retorno superior, o nome do método e quaisquer argumentos que o método requer para fazer seu trabalho. Métodos em um objeto podem ser usados quando visíveis com a sintaxe de pontos. Por exemplo, se tivermos uma classe calculadora, um dos métodos que você pode esperar ver nessa classe calculadora será anúncio se
nomearmos nossa instância da calculadora de classe calculadora. Gostaríamos de chamar o método de anúncio com anúncio de ponto calculadora. Poderíamos, na verdade, passar muito tempo a falar de métodos, porque se trata de um tema muito amplo. Mas vou mostrar dois exemplos e, em seguida, seguir em frente os construtores. Neste exemplo, o método get balance retorna para o equilíbrio de sublinhado de nível de classe de arável. Este é um exemplo bem limpo. No segundo exemplo, o depósito de anúncio significava que leva um único argumento duplo e, em seguida, como esse valor valor para o saldo sublinhado que você novamente muito simples e fácil de entender. Finalmente, construtores construtores são realmente métodos especiais que devem seguir um conjunto específico de regras. Primeiro, eles não podem conter um top de retorno. Em segundo lugar, o construtor deve ter o mesmo nome que seus construtores de classe pai ar automaticamente chamado quando um classes e Stan Shih ated. Mas você pode controlar qual construtor é chamado especificando vários construtores com diferentes tops de argumento. Objetos também podem ter instrutores diferentes com modificadores de acesso diferentes. Um bom caso de uso para isso é que você pode fornecer um construtor público externo Stan Shih ation de chamadores externos e fornecer um segundo construtor interno para em posição. Ela ation dentro da mesma montagem que você também pode sobre construtores baixos. Isso significa que você pode ter centenas de construtores, desde que cada construtor não tem o mesmo argumento, superior especificado. Neste exemplo, temos um construtor sem nenhum argumento especificado. Isso é conhecido como o construtor padrão. Se você não precisar de nenhum outro construtor, você não precisa realmente incluir o construtor padrão. Se você não estiver fazendo o trabalho dentro do próprio construtor e o construtor de queda será criado para você, um tempo de compilação. No entanto, se você precisar do construtor padrão e um segundo construtor não padrão, você tem que criá-lo. Como mostra o exemplo. Neste exemplo, também
temos outro construtor que usa um argumento chamado balance do Double Top. Apenas um minuto atrás, Eu disse que você poderia ter vários construtores, desde que cada construtor não tem o mesmo argumento, Top especificado. Neste exemplo, não foi possível criar um segundo construtor que só aceita um argumento se esse argumento fosse um top duplo, mesmo se você nomear a conversa dupla de forma diferente do primeiro, poderíamos, no entanto, tem outro construtor que tomou um único parâmetro de cadeia superior ou uma única imagem de primer no topo. No próximo vídeo, vamos olhar para o caso switch
14. Caixa de mudança: neste vídeo, nós vamos falar sobre declarações doces, instruções switch ou select statement, como eles também são conhecidos, vai decidir a partir de uma lista de leilões quais código executar switch instruções são muito semelhantes para, se else, if else declarações. Eles fornecem uma estrutura bastante semelhante na medida em que você pode criar uma lista de critérios e ter esses critérios executados de forma processual. Até que um ou nenhum fósforo tenha sido encontrado. No entanto, instruções
switch são mais apropriadas do que se else, if else instruções. Se você estiver testando três ou mais casos diferentes, eles são apenas mais limpos de ler, mais fáceis de criar e mais fáceis de manter. Switch instruções, como eu mencionei já pode avaliar uma lista de critérios e decidir qual código executar. Com base nesses critérios, as instruções de
comutação são compostas de instruções K, e cada caso deve ser quebrado com a palavra-chave de freio, que irá parar a execução do interruptor ou permitir que ele caia na próxima instrução caso ou quando seus critérios forem atendidos. Você pode simplesmente retornar da instrução switch. Eu prefiro usar o freio, palavra-chave e retorno após a instrução switch ter executado, se necessário. Mas essa é apenas a minha preferência pessoal. Você verá os dois se continuar a contar. Vamos olhar para alguns exemplos neste exemplo são instrução switch está testando para uma
fruta favorita e quando um dos casos é satisfeito, atribui e texto para a variável de mensagem. Como você pode ver três diferentes caixas de frutas ar testado. Isso seria semelhante a, se mais, se mais. Se eu achar a instrução switch mais fácil de ler e entender, você também deve tomar nota da palavra-chave break no final de cada instrução caso. Como eu disse antes, isso permite que a instrução switch passe para o próximo caso. Mas o que realmente está acontecendo é que as palavras-chave break impede que o resto da
instrução switch seja executado porque a instrução switch foi satisfeita. Neste exemplo, temos uma instrução extra no final,
a chave padrão, onde ele executa a mesma função que uma instrução else em um bloco if. Se nenhum dos outros casos for satisfeito, a instrução padrão é executada. Por favor, note que mesmo a declaração do falso tem a palavra-chave break. Este é o último exemplo, e você vai notar que os casos de ar empilhados neste. A forma como os casos são empilhados significa que se for segunda-feira, terça-feira, quarta-feira, quinta-feira ou sexta-feira, o mesmo código será executado enquanto sábado e domingo têm um bloco de código diferente. No próximo vídeo, voltaremos à codificação e construiremos a tela do menu principal.
15. Tela do menu principal: Neste vídeo, vamos construir a tela do menu principal. A tela principal do menu será uma lista de opções disponíveis para o usuário, incluindo retirada de depósito. Transações recentes exibem saldo e logout. Ainda não implementaremos nenhuma dessas funcionalidades, mas criaremos métodos de urso para eles para que não tenhamos que revisitar a tela do menu novamente por um tempo. Vamos começar. A primeira coisa que vamos fazer é criar uma nova classe porque nossa principal
estática metodista . Isso significa que tudo o resto nessa classe terá que ser estático também. E essa não é a melhor ideia com a nova turma. No entanto, em nosso método principal, nós apenas temos que fundamentar que um objeto por sua vez controle sobre ele, certo. Clique no Projeto de equipe e Solution Explorer e passe o mouse sobre o anúncio e, em seguida, encontre o
menu de classe . O Adam. Se a classe não estiver na sua lista, você pode selecionar adicionar e a nova classe de outono deve estar na parte superior ou próxima da caixa de diálogo. Nomeie a classe A TM controller. Esta classe não estará disponível fora deste projeto, então usarei o modificador de acesso interno. Vamos ter que passar do código ao longo do programa sobre classe CS para a nossa nova classe de 18 controladores. Comece com as variáveis que esperam o número da conta e o número do PIN esperado. Após a cópia na classe 80 e controller, adicione o modificador de acesso profeta a ambas as variáveis. Eu também vou adicionar um sublinhado ao início de ambos os nomes de variáveis, dependendo de quem você fala. Esta é, por vezes, considerada uma prática recomendada, e outros dirão que não. Eu acho que é em grandes programas. É reconfortante ver um nome de variável sublinhado porque eu posso estar bastante confiante de que esta é uma variável privada e eu não tenho que colocar um monte de pensamento no escopo da variável . Agora copie o resto do que está no método principal de volta na classe de controlador 18. Crie um método interno chamado log de exibição na pasta de tela. O código restante. Nesse método, precisaremos corrigir o número esperado da conta e o número PIN esperado de variáveis,
adicionando um sublinhado. Em seguida, crie um método privado chamado menu principal de exibição. Neste método, se você ainda não adivinhou, vamos imprimir o sistema de menus sobre o aplicativo. A primeira linha será o número um rodeado por colchetes e, em seguida, o saldo da
conta de verificação de texto . A próxima linha será o número dois cercado por colchetes no depósito de texto, então o número três cercado por colchetes na retirada do texto após a retirada , o número quatro cercado por colchetes e o transacções recentes de texto. Finalmente, o número cinco cercado por colchetes e o texto sair na tela. Quero um espaço entre o menu e o texto pedindo ao usuário para selecionar uma opção. Você pode fazer isso usando a linha direita ponto console sem tecnologia especificada,
em seguida, a linha. Peça-lhes para selecionar uma opção e pressione enter. Em seguida, crie uma string nomes de variáveis. opção selecionada é igual ao console que não lê a linha. Em seguida, usaremos uma instrução switch para testar o valor da opção selecionada. Mas antes de irmos muito longe nesse caminho, precisamos criar métodos de esqueleto para cada opção. Métodos de esqueleto são titulares de lugar para métodos. Os métodos são exibidos lá, mas a funcionalidade completa do método não é criar um método privado chamado tela de saldo
da conta de exibição . Nesse método, imprimir o título na parte superior do saldo da conta da tela para este exemplo, em
seguida no console ponto Reekie para que o método vai Paul e nós poderíamos ter certeza de que tudo está funcionando por último em uma linha que chama o display principal método de menu. Isso nos permitirá voltar para o mini. Agora vamos criar o método da tela de depósito de exibição e teve o mesmo título lógico no conselho
Top. Não Reekie e exibir Mahaney fazer o mesmo para a tela de retirada de exibição e novamente para
a tela de transação recente de exibição. Precisamos também de uma lei tem método, mas é diferente do resto. Quando eles chamam logout, vamos limpar a tela com ponto de console clara e, em seguida, chamar a tela de log de exibição. Voltar à tela do menu principal. Também queremos limpar a tela quando o metodista ligou pela primeira vez quando estamos testando, será mais difícil detectar problemas quando mudarmos de tela. Se não tivermos uma ficha limpa para trabalhar no método de tela de log de exibição, quando um usuário autentica com êxito em vez de exibir a
mensagem de autenticação bem-sucedida , queremos redirecioná-los para a tela do menu principal. E, além da mensagem de autenticação derrubada, se eles não autenticar com sucesso, queremos recarregar a tela de log na chamada tela de log de exibição. Finalmente, Finalmente, podemos terminar a declaração do caso de troca que começamos há alguns minutos. No caso de um, queremos exibir a tela de saldo da conta chamando o
método de tela de saldo da conta de exibição . No caso de dois. Queremos exibir a tela de depósito chamando o método da tela de depósito de exibição. No caso de três, queremos chamar a tela de retirada de exibição. No caso de quatro. Queremos exibir a tela de transação recente. No caso de cinco. Queremos chamar o método lockout todos os outros casos ou o caso padrão. Vamos exibir uma mensagem de ar dizendo seleção inválida, Coloque qualquer chave para continuar,
em seguida, esperar que o usuário para responder com ponto cônsul Reekie no arquivo CS ponto do programa. Precisamos da escuta da classe de controlador A para assumir o controle. Precisamos substanciar a classe de controlador 18 com a nova palavra-chave. Em seguida, chamamos a tela de log de exibição no controlador. Uma última coisa na exibição da tela de depósito,
retirar exibição da tela, tela de transação
recente e exibir saldos da conta, métodos de
tela. Precisamos limpar essas telas quando eles são exibidos, então estamos em uma chamada ponto claro do console no início de cada método. Vamos executar o aplicativo e ver como o sistema de menus funciona nela. 1234 para o número da conta e 9999 para o número do PIN e devemos ver o menu principal. Vou correr em cada leilão para ter certeza de que o que temos é saldos de contas de trabalho , trabalhos de depósito
finos, trabalhos de
retirada , transações
recentes, trabalhos e registro que funciona. Saí com credenciais erradas e vejo o que conseguimos. Todos, então, são 1 a 3 para o número de contagem e 999 para o pino. Então eu realmente não gosto da maneira como a tela de login não limpa. Por agora. Vou adicionar um consulado, está claro no início, mas provavelmente precisaremos fazer outra coisa. longo prazo, o usuário não será capaz de ver a mensagem de falha de autenticação, mas por enquanto, no entanto, temos um menu principal funcionando. No próximo vídeo, estaremos trabalhando com strings
16. Trabalhando com de cadeias de: Neste vídeo, nós vamos aprender como trabalhar com cordas. Cordas são, na verdade, uma coleção de personagens ou carros. Como o framework dot net vai, strings são imutáveis, o que significa que eles são realmente somente leitura. Se você criar uma string com um valor de alimento e, em seguida, modificar o valor de alimento para barra, você está realmente criando um novo objeto de string. Isso é importante e aplicativos com uso intensivo de dados ou aplicativos em que você está criando cadeias de caracteres
muito grandes. Outro grande tópico para strings e um que vamos explorar é a formatação. As strings podem ser formatadas de várias maneiras diferentes. Vamos dar uma olhada em algumas dessas opções de formatação,
incluindo fluxo, incluindo fluxo, concatenação, formato de ponto de
string e interpolação de string. Primeira concatenação Aqui está um exemplo. Como podem ver, estamos juntando as duas cordas. Isto é o que a concatenação de string está unindo duas strings juntas para criar 1/3 nova string , e C concatenação de string afiada é feita com o sinal de mais. Muitos iniciantes usam esse método extensivamente, e não há nada de errado com isso. Quando você está começando, é beber. Cat Nation é o mais fácil para os iniciantes entenderem. Neste exemplo, estamos substituindo as variáveis cor e animal nas variáveis do Senado. Como você pode ver, as coisas já estão começando a ficar complicadas. Temos que nos preocupar com espaçamento. A corda está quebrada três vezes, e há quatro sinais de mais para acertar tudo. Ele só fica mais complicado a partir daqui se você usar nação compacta como você vai para o método para formatar strings. Formato de ponto de cadeia de caracteres seguinte formato de ponto permite que você crie uma string e tenha espaços reservados para valores que são normalmente variáveis ou propriedades diretamente no fluxo. E quando a instrução é executada, os espaços reservados são substituídos pelos valores. Seu sinal. Os odores locais são o índice ou números de significado de Ordell, começando em zero e incriminando cada vez que você adiciona uma nova substituição. 0123 e assim por diante. Neste exemplo, ainda
estamos imprimindo barra de alimentos, mas você pode ver a função de formato de ponto de string. Os espaços reservados originais são a chave encaracolada zero Curly Brace e Carly Brace. Uma chave encaracolada Aviso onde o formato de ponto de string e parênteses é a forma como o
formato de ponto de string é estruturado. Você tem toda a sua cadeia de caracteres vírgula,
e, em seguida, cada argumento original necessário, separado por vírgulas e todas as coisas para executar sobre parênteses. Neste exemplo, temos a raposa marrom. Na sua outra vez. Temos o zero orginal, que é o valor da cor, e um que é o valor para animal. O valor da variável de cor será substituído onde o zero orginalmente é, e o valor da variável animal será substituído, onde o valor de um orginal é um exemplo final de formato de ponto de string. E este notou que a corda tem 20 Ordell. Neste caso, todos os lugares que o Wardle zero existe, o valor da variável de cor será substituído, modo que o resultado final será a raposa marrom rápida salta sobre o cão marrom preguiçoso. Vamos ver uma interpolação de cordas. interpolação de string é muito semelhante ao formato de ponto de string, mas em vez de ter ordem de Nell, você pode simplesmente digitar a variável ou propriedade direita no fluxo em vez de ter uma lista
separada por vírgulas no final. Rodeado pela função de formato de ponto de string, o sinal de dólar no início é a chave que há uma captura. Não pode haver espaço em branco entre o cifrão e a aspas duplas de abertura, incluindo uma linha, pés ou espaço regular. Isso fará com que um ar de tempo de compilação em vez de chave encaracolada. interpolação orginal de cadeia de chaves usa chave encaracolada variável de chave. Aqui está a frase raposa marrom novamente com interpolação de cordas. Eu realmente gosto de interpolação de cordas e frases menores, mesmo que eu tenha que inserir uma variável mais de uma vez. Se é uma frase longa ou precisa ser quebrada em várias linhas, há melhores opções. Mas para cordas simples, a facilidade de uso da interpolação de cordas faz sentido. No próximo vídeo, vamos construir a tela de saldo da conta de cheque.
17. Confira a tela de equilíbrio: neste vídeo, vamos construir a tela de saldo de verificação. A tela de saldo tcheco é provavelmente a triagem mais simples que vamos construir, já que tudo o que tem a fazer é exibir uma coisa. Por esse motivo, vamos apresentar o objeto de conta de usuário neste vídeo. Clique com o botão direito do mouse no Projeto A T m no Solution Explorer e adicione um novo nome de classe a nova conta de usuário da
classe. Forneça o objeto de conta de usuário e o modificador interno na classe de conta de usuário. Criar uma propriedade de número de conta string interna auto implementado com um get e um conjunto. Se você se lembrar corretamente implementar automaticamente. Isso significa que você não precisa se preocupar em criar uma volta na loja para a propriedade. Além disso, criar uma propriedade de número de pino de cadeia interna auto implementado, também com um get e um conjunto,
e, finalmente, criar uma propriedade de equilíbrio duplo interno auto implementado. Com um get em um conjunto, podemos fechar a guia conta de usuário. Não vamos modificar mais neste vídeo. Na classe de controlador a t M, vamos remover o número de conta esperado sublinhado e sublinhar variáveis de número de pino
esperado e substituí-los por uma conta de usuário privada. Sublinhado conta ativa suportável. Estritamente falando, atribuir e nenhum valor a esta variável não é necessário. É só um hábito em que me meti. Será não, independentemente de você atribuir nenhum valor a ele ou não. Antes de permitir que o usuário faça login. Precisamos de algum valor para a conta ativa de sublinhado. Suportável. Crie um construtor interno para a classe de controlador de equipe A. Neste construtor, vamos atribuir um valor padrão para o sublinhado do objeto de conta Ativo sublinhado. Conta ativa é igual a nova conta de usuário. Se você pressionar a chave de abertura, você pode atribuir valores às propriedades de objetos dentro das chaves, um sinal da propriedade number da conta o valor de 1234 a propriedade pin number, o valor de 9999 e a propriedade balance o valor de 1 61,23 Você deve manter os mesmos valores porque se você acompanhar exatamente com os vídeos, você será capaz de verificar o seu casaco contra o meu após a chave de fechamento em um semi Cohen. Agora precisamos corrigir as referências para sublinhar número de conta esperado e sublinhar número pino
esperado no método de exibição log na tela. Substitua o número esperado da conta sublinhado pelo número da conta do ponto ativo sublinhado e substitua o
número do pino esperado pelo número do pino
do ponto da conta ativo do sublinhado no método de exibição da tela do saldo da conta. Nós só precisamos exibir o saldo da conta ativa sublinhado após o título. Na parte superior do método, eu vou adicionar uma linha em branco usando console ponto direito vinho, em
seguida, criar outro console sobre a linha direita. Mas nesta linha, vamos mostrar o saldo. Vou usar a interpolação de cordas aqui, então signo de dólar. Citação dupla. Saldo da conta corrente sinal de dólar espaço Colon. Este é um filho dólar real que será exibido na tela. Em seguida, abra Curly Brace sublinhado saldo ativo do ponto da conta e fechando Curly Brace. Não se esqueça de ponto-e-vírgula. Depois de exibir o saldo, vou adicionar outra linha vazia e, em seguida, alinhar, dizendo ao usuário para pressionar qualquer tecla para continuar. Vamos executar o programa e ver como ele fica em seus 1234 para o número da conta e 9999 para o número do PIN. Vamos dar uma olhada no que conseguimos. Lembre-se que temos 161,23 para a balança que funciona. No próximo vídeo, vamos olhar para como funciona a matemática e ver curto.
18. Math: neste vídeo, vamos rever os conceitos básicos de matemática e matemática nítida C, e C Sharp está perto da matemática que já conhecemos. Ele tem os operadores padrão que você esperaria, incluindo adição com uma subtração sinal de adição com Amman Asan Division com uma
barra e multiplicação com um asterisco. A Ordem das operações e See Sharp funciona muito perto do que você aprendeu na
aula de matemática . Na escola, todas as operações são realizadas à esquerda chegar. Além disso, as operações de
multiplicação e divisão ocorrerão antes
das operações de adição e subtração , e as operações também funcionam da esquerda para a direita entre parênteses serão executadas antes as operações fora da respiração vejam e também são executados. Esquerda chegar. Vamos dar uma olhada em alguns exemplos. No primeiro exemplo, temos um Siris de variáveis de energia, e estamos definindo o valor da variável W para um mais B menos C mais D menos e todas as operações neste exemplo, ou qualquer adição ou subtração. Então, para calcular, você simplesmente trabalha da esquerda para a direita e executar cada operação em sua vez. Se você olhar para a última linha, você verá que o resultado é negativo. Dois. Se você pode trabalhar confortavelmente em sua cabeça ou com uma calculadora. Você está bem no seu caminho. No exemplo seguinte, as coisas estavam ficando um pouco mais complicadas. Este exemplo tem multiplicação e divisão. Eu vou resolver isso e espero que você possa seguir adiante. Podemos chegar à mesma conclusão primeiro, já que temos multiplicação e divisão, temos que trabalhar essas operações primeiro, e fazemos elas deixadas apodrecer. B Vezes D é oito A dividido por E é um gerentes sempre arredondar automaticamente se necessário. A mais D é cinco. Já que resolvemos tudo a partir desse ponto, cinco menos um são quatro. Espero que
tenha sido capaz de seguir essa lógica. Pode ajudar se você escrever a equação no papel e substituir os valores para as variáveis e fazer a equação um passo de cada vez
e, em seguida, reescrever a equação após cada operação, com o valor substituído por concluído no próximo exemplo, também
temos operações de multiplicação e divisão, mas temos parênteses agrupando algumas das operações operações dentro de parênteses têm
precedência sobre multiplicação e divisão. A variável W é enviada para um E mais ou sete menos B vezes C ou seis. A próxima operação, uma vez que já calculamos as operações dentro dos parênteses seria ser tempo ver ou seis dividido por E, que é um, então temos um E mais ou sete menos o resto da expressão ou um, que é seis novamente. Se você estiver tendo problemas para entender, anote a equação e execute as operações uma etapa de cada vez e reescreva a equação após cada operação. Neste exemplo, também
temos parênteses, mas temos diferentes agrupamentos entre parênteses, que significa que todas as operações dentro dos parênteses devem ser trabalhadas. Primeiro D mais e é 10 vezes B é muito 10 menos dois é oito. A dividido por C é 2.66 Você pode estar confuso com a resposta, que é para os banqueiros. Matemática veria 2,66 arredondados para três. Este não é o caso em C curto porque 2.66 não é três. Uma função especial chamada piso é usada, que sempre arredonda para baixo. Há também uma função chamada teto, que sempre arredonda. Agora precisamos discutir a atribuição de valor. Considere este exemplo e veja se você pode determinar por que os resultados são do jeito que eles são. Pausado o vídeo se você precisar de tempo extra. A razão pela qual o saldo ainda é 100 no final do exemplo é que o valor da propriedade
balance nunca foi realmente atribuído a ele foi usado como um ponto base na
operação de adição . Mas a propriedade balance nunca foi realmente atribuído um valor. Se você olhar para o final deste exemplo, você pode ver que neste estamos realmente atribuindo a propriedade balance. O novo valor. Isso corrige o problema do slide anterior. Vamos dar uma olhada. Em um último exemplo, C. Sharp tem a noção de Compound Osama, que irá executar a matemática e definir o valor da propriedade em questão. Há um composto de adição o operador Simon, bem como um para subtração, multiplicação e divisão. Você simplesmente substituiria o símbolo de multiplicação de menos ou divisão no lugar do
símbolo de adição . O sinal de igual é realmente dizendo C afiado para executar a operação e definir o valor. Você vai ver o composto de operadores Simon muito, então fique confortável com eles. No próximo vídeo, vamos construir a tela de depósito
19. Tela de depósito: Neste vídeo, criaremos a tela de depósito e o método da tela de depósito abaixo da linha de
título. Vou inserir uma linha em branco usando a linha direita ponto console. Em seguida, vamos pedir ao usuário para inserir o valor do depósito e pressionar para dentro. Criar uma quantidade de depósito nome variável string e usá-lo para obter o valor que o usuário insere usando linha reid ponto console. Agora vamos fazer algo novo. Crie um tipo de variável dupla chamada quantidade. Precisamos obter o valor que o usuário é inserido e temos armazenado na
variável quantidade de depósito no montante duplo suportável. Podemos fazer isso com duplo ponto tentar pars. Drop Ours é uma função especial em muitos tipos de dados padrão, como Tia Double, dia
decimal e assim por diante. Drop parts terá um valor. Neste caso, o valor do depósito suportável, e se ele pode partes o valor no tempo duplo, vamos atribuí-lo a uma variável. Se não, não vai. Mas a parte importante é que não estamos lançando exceção Notei que estou embrulhando a função Trop Horace em uma declaração if. Se o valor for analisado corretamente, queremos executar um bloco de código. Mas se não for, queremos executar um bloco diferente. Também tirado da palavra chave de fora. Isto é o que realmente atribui o valor que era partes para a quantidade. Variável, como mencionei, é uma palavra-chave, e executa uma tarefa especial. Você já sabe que os métodos podem retornar valores, mas apenas um que você pode usar em seus próprios métodos também. Se você precisar manter o controle de uma variável ou um valor que o método está usando. Se o valor inserido for válido, precisamos adicionar o valor ao valor do saldo ativo do ponto da conta sublinhado. Se o valor não for válido, exibiremos uma mensagem de erro informando que o valor que se aproximou era inválido e pressione qualquer tecla para continuar em um console. Não leia a linha T, e então precisamos recarregar a tela de depósito chamando o método da tela de depósito de exibição volta no bloco F. Precisamos dizer ao usuário que o depósito foi aceito. console não escreve um. Vou usar a interpolação de cordas aqui novamente. Sinal de dólar. Aspas duplas as palavras depósito valor do dólar Este sinal de dólar será realmente exibido na tela. Quantidade de chave aberta fechando chave Curly aceito. Pressione qualquer tecla para continuar, e eu acho que precisamos de uma linha em branco entre o valor, o usuário interno e a mensagem. Então, em um console, não apodreça a linha acima da mensagem bem-sucedida abaixo da mensagem bem-sucedida em um console. Não Reekie, então o aplicativo pausa e eles podem ver a mensagem. E então eu chamei para o método do menu principal de exibição. Agora vamos executar o aplicativo e ver o que temos. sessão como de costume e vá para a tela de saldo da conta para verificar o saldo. $161,23. Volte para a tela do menu e, em seguida, vá para a tela de depósito. Vou depositar $10.67. Isso fará com que o nosso saldo total $171,90. Se tudo funcionar corretamente, é uma chave para retornar ao menu principal. Vamos verificar a tela de saldo da conta. Bem, o valor é certo, mas teremos que ajustar a exibição do valor para a conta para formatação adequada. Estou mantendo uma lista de bugs no aplicativo, e vamos voltar e corrigi-los todos em um vídeo posterior. Por enquanto, os nossos depósitos. Cree parece estar funcionando muito bem, e no próximo vídeo, estaremos olhando para as regras de negócios.
20. Regras de negócios: neste vídeo, vamos discutir regras de negócios. Regras de negócios tornaram-se um pouco de um sinônimo, um desenvolvimento de aplicativos recentemente, parece que muitos desenvolvedores estão confusos com o que constitui uma regra de negócios. Qual é a melhor maneira de implementá-los e assim por diante. Você também ouvirá a lógica de negócios e as regras de negócios usadas de forma intercambiável. Isto é normal. Eles são a mesma coisa. Então, qual é a regra de negócios? As regras de negócios podem estar em muitas coisas diferentes. Validação de dados e validação de entrada do usuário são definitivamente regras de negócios, mas há limites. Validar um número de telefone não é realmente uma idéia nova, então essa única parte da operação não é uma regra de negócios por si só. Mas o trabalho geral que vai para a validação definitivamente diferirá de aplicativo para aplicativo,
portanto, a validação é composta de regras de negócios. Toda a lógica específica do seu aplicativo deve ser considerada regras de negócios para o seu aplicativo. Qualquer lógica que você não poderia facilmente portar para outro aplicativo e fazer com que faça
todo o sentido para fazê-lo deve ser considerada regras de negócios. A maioria dos aplicativos tem um fluxo neles. Para concluir uma tarefa, você deve seguir uma rota específica para que os dados sejam completos precisos e para que cada etapa de um processo seja concluída. Isso também é conhecido como controle, fluxo ou constrição de fluxo nesta rodada e a lógica que força os usuários para que WRAL
também deve ser considerada lógica de negócios. Todos os aplicativos têm restrições restrições restrições podem ser qualquer coisa, desde acesso administrativo a operações específicas de conta, até controlar o que um usuário tem permissão para fazer e o que eles não têm permissão para fazer e devem ser considerados regras de negócios. Qualquer lógica que influencia o comportamento dos usuários deve ser considerada regras de negócios. Isso pode ser validação de dados que impede o usuário de enviar um formulário até que todos os
campos exigem sejam preenchidos ou que apenas usuários específicos possam acessar áreas específicas do aplicativo. Finalmente, todas as regras de negócios devem ser avaliadas até um valor booleano lá verdadeiro ou falso. Então, o que não constitui um código padrão de regra de negócios que poderia ser encontrado em
praticamente qualquer outro aplicativo, por exemplo, código que lida com processamento de texto e acesso a dados praticamente. Todos os aplicativos têm que fazer isso. Até certo ponto, código
Onley especializado para seu aplicativo específico deve ser considerado uma regra
de negócios. No próximo vídeo, vamos construir a tela de retirada
21. Tela de retirada: Neste vídeo, vamos construir a tela de retirada e o método de tela de retirada de exibição. Estamos indo por um caminho muito parecido com o que viajamos no vídeo do depósito. Primeiro, vamos usar a linha direita do ponto do console para solicitar que o usuário insira o valor da retirada antes que eu esqueça o que está em uma linha em branco sobre esse problema. Em seguida, adicione uma variável string chamada quantidade retirada para armazenar a resposta do usuário usando ponto
console Riegel em criar uma variável dupla chamada quantidade. Precisamos obter o valor da quantia de retirada no montante suportável. Mais uma vez, vamos usar carros de queda de ponto duplo com a variável de quantidade dupla como o argumento de saída. Além disso, vamos novamente embrulhar a armadilha. Nossa declaração em uma declaração if, entanto, precisamos criar uma regra de negócios no bloco F, e você provavelmente pode adivinhar o motivo pelo qual não podemos permitir que os usuários retirem mais do que eles têm . Então teremos uma declaração se aninhada no cavalo armadilha. Se bloco que irá verificar a validade da transação. Se o valor da variável de retirada for menor ou igual ao valor do saldo ativo do ponto
da conta sublinhado , podemos permitir a transação e deduzir o valor da quantia da conta ativa sublinhado sobre o valor balanceado. Precisamos fornecer uma mensagem dizendo que a retirada é bem sucedida e pressione qualquer tecla para continuar e, em seguida, exibir a tela do menu principal. Também precisamos de uma linha em branco entre a entrada de usuários e a mensagem bem-sucedida. Se o valor inserido pelo usuário não for válido, entanto, precisamos rejeitar a transação no bloco else do aninhado, se em uma linha em branco. E, em seguida, outra linha direita do ponto do console para exibir a mensagem informando ao usuário que o valor inserido excede o saldo da conta e pressione. Qualquer chave para continuar, em seguida, ponto cônsul Reekie para execução do programa de Paul e, em seguida, exibir o menu
principal no bloco else da declaração Trop cavalos. Precisamos criar uma linha em branco, o ponto cônsul linha direita e, em seguida, uma mensagem aérea, dizendo que o valor que eles entraram era inválido e pressionar qualquer tecla para continuar, precisamos fazer com que o aplicativo para que as mensagens aéreas visíveis e eles chamam o método da tela de
retirada de exibição e eu vejo um erro e você pode já ter pego nele. Tenho a minha lógica invertida no ninho na declaração se. Se o valor for menor do que um recall para reprocessar a retirada, eu tenho maior ou igual a. Vejo outro problema também, depois da mensagem dizendo ao usuário que a retirada foi bem sucedida. Precisamos do Paul, então outro ponto de console Reekie lá. Agora podemos executar o aplicativo e dar uma olhada nos resultados. Vou entrar com as mesmas credenciais e ir direto para a tela de retirada. Vou retirar 100 dólares. Isso parece bom. Agora vamos verificar a tela de saldo da conta. Devíamos ter $61,23 e temos. Já que estamos para $61,23. Vamos tentar retirar mais 100 dólares. Devíamos receber a mensagem aérea, e temos. Vamos tentar retirar em inválido uma montanha. Vou entrar em baboseira para ver o que acontece. Exatamente o que deveria acontecer no próximo vídeo. Estaremos trabalhando com um aumento e listas
22. Arrays e listas: Neste vídeo, vamos discutir um raise e listas e tocar brevemente em genéricos, um aumento ou coleção sequencial tamanho fixo de elementos do mesmo tempo. O tamanho deve ser declarado quando você aumenta criado, e esse tamanho não pode ser alterado. A partir desse ponto, sequencial significa que seu índice baseado começando um zero. O primeiro elemento pode ser acessado com zero orginal. O segundo elemento, com um orginal, o terceiro com os dois orginais e assim por diante. Uma corrida pode ser criativa a qualquer momento, até objetos, mas você deve ser o mais restritivo possível ao criar um aumento. Vamos dar uma olhada em alguns exemplos. Neste primeiro exemplo, uma nova matriz de fluxos denominados Primeiros Nomes foi criada com o tamanho de três. Então eu estou definindo o valor do primeiro elemento na matriz para casar o segundo elemento
na matriz para Tom e o terceiro elemento na matriz para Nancy. Na próxima seção, estou usando interpolação de string para imprimir os valores de cada elemento para o console. Como você pode ver, os valores na matriz podem ser definidos referenciando o elemento específico na matriz, usando o filho orginal e o filho igual, e o valor armazenado na matriz pode ser referenciado da mesma maneira sem o filho igual. Neste exemplo seguinte, a inicialização da matriz é feita de forma completamente diferente. Os valores de ar disse automaticamente, mas os resultados são exatamente os mesmos. Ainda podemos acessar os elementos na matriz, como fizemos no exemplo anterior. A única coisa que mudou foi a forma como estava em Stan Shih ated. Ainda há muito a aprender sobre um aumento, mas já aprendemos o que precisamos saber por enquanto. Na verdade, vamos usar um aumento. Mas eles funcionam tão bem com isso, e nós vamos usá-los. Então esse é o próximo tópico. Listas fazem parte do conceito de tubarão-marinho conhecido como genéricos. genéricos são construídos em torno dos principais parâmetros. Dê uma olhada no exemplo a seguir. O código à esquerda é um trecho simplificado de um padrão de design conhecido como padrão de
repositório genérico . O código na rocha é um contexto de banco de dados do ponto em um mapeador relacional de objeto chamado Entity Framework. O código à esquerda tem a capacidade de trabalhar com qualquer classe. Do lado direito. Existem seis tipos diferentes para encontrar no lado direito, e sem genéricos, você ficará com poucas opções do que executar um monte de código duplicado para lidar com cada dos seis. E lembre-se de que este exemplo é muito simplificado. Não é incomum para um sistema de negócios ter 50 ou mais objetos que teriam que ser listados no passeio, e eu trabalhei em projetos com mais de 300 até 500 independentemente de quantos fora e você adicionar , o código em a esquerda não ficaria mais ou mais complicada. Esse é o verdadeiro poder dos genéricos. Com este próximo exemplo, você vai notar que temos uma variável declarada de lista superior, e esta lista só aceitará fluxos. Isso é indicado dentro dos suportes angulares. A tensão pode ser alterada para literalmente qualquer coisa uma pessoa, um endereço em ordem e assim por diante. Esta lista funciona exatamente da mesma forma para cada vez. Vamos ter um pouco de poder. Como você pode ver, podemos adicionar à lista. Mais importante ainda, não
temos que saber quantos fora da lista vão conter. Podemos continuar adicionando a ele sem que nada altere o aviso de que ainda podemos acessar os elementos na lista assim como podemos na matriz com as referências orginais. A razão pela qual eu introduzi um aumento deste vídeo, mesmo que não vamos usá-los em tudo no aplicativo A t M é por causa de levantar trabalho
lista. Ótimo juntos, neste exemplo, notado que não temos matriz declarada, e temos valores assinados para a matriz. Então nós facilmente lançamos a lista Teórica A, e nós estamos eles trabalhando com uma lista novamente. Ele também vai para o outro lado. Neste exemplo, estamos lançando uma lista para uma matriz. Há muitos, muitos métodos no framework dot net que retornam uma matriz de elementos. É importante saber que você não está preso com esses raios ou que é um grande esforço para colocar a matriz em algo que você pode facilmente trabalhar e manipular. Há literalmente montanhas de mais informações que passamos por cima para um aumento. Ouça genéricos, mas como um iniciante, que deve dar-lhe uma base sólida para construir braço. No próximo vídeo, vamos estar olhando para loops
23. Loops: Neste vídeo, vamos discutir loops. Loops são uma construção poderosa e ver afiada. Eles permitem que você reitere ou passe por átomos e uma lista de arrays ou coleta e inspecione e processe cada um. Eles também permitem que você aguarde em um conjunto específico de condições para ser o que você está esperando antes de prosseguir. Existem vários tipos diferentes de loops, incluindo enquanto para cada quatro e fazer dos quatro topos diferentes. Nós só estaremos usando o para cada loop em nossa aplicação, mas eu quero mostrar um breve exemplo de todos os quatro tipos diferentes porque qualquer um dos quatro poderia ser usado para nossos propósitos. Eu escolhi o para cada loop porque faz mais sentido. Vamos começar com a licença de quatro. O loop de quatro tem três partes do contador Os testes estavam conduzindo para determinar quando o loop deve parar de executar e os incrementos. O contador pode ser dito para qualquer número e não precisa ser zero. Poderíamos facilmente ter começado em um. Em vez disso, o teste pode ser qualquer coisa que possa ser medido. Pode ser o número de elementos em uma matriz ou lista no nosso caso. Nós só queremos passar pelo loop cinco vezes e imprimir o valor de I em cada iteração do loop. Finalmente, você tem o incremento. Cada vez que passamos através do saque, o valor de eu será incriminado por um Hi plus faz isso para nós? Observe também que estamos especificamente atribuindo esse incremento à variável I. O loop cuida disso para nós. Em seguida, temos o fazer enquanto luv o loop do while parece muito diferente do que o loop quatro fazer é realmente uma instrução completa Neste loop, a condição que estamos testando é feito após a instrução do é executado e não antes , como o loop quatro também notar que temos que incrementar a verbal que estamos testando
por conta própria . O saque não cuida da floresta. obtemos No entanto, os mesmos resultados. Depois há o azul selvagem. O loop while é muito semelhante ao do azul selvagem Mas o descontroladamente executa um teste e, em seguida executa o aviso declaração novamente que temos que cuidar do incremento por conta própria e que nossos resultados são novamente exatamente os mesmos Finalmente, temos o para cada loop. O loop de quatro h é diferente dos outros, e este é o loop top que usaremos no programa. Não há um incremento envolvido no para cada loop. Em vez disso, o para cada loop é construído especificamente para um aumento, coleções ou listas. Neste exemplo, estamos fazendo loop sobre uma lista de imagers, mas podemos estar fazendo loop sobre uma lista de pessoas ou uma matriz de strings, e as mesmas regras básicas se aplicam. Por favor, note que estamos atribuindo uma variável de I para o gerente atual na lista. Estamos iterando sobre o topo, especificado para a variável tem que coincidir com o topo contido na matriz ou lista, e dentro dos quatro cada declaração, você tem acesso a esse ferimento, e você pode trabalhar com ele dentro do chão. Cada declaração e que praticamente cobre perder. Eles são poderosos, e muitas vezes a parte mais difícil é decidir qual é o melhor para você quatro polegadas projeto especificamente para uma lista de passas. Mas os outros três podem ser usados de forma intercambiável. No próximo vídeo, vamos construir a tela de transação recente
24. Tela de transações recentes: neste vídeo, vamos construir a tela de transações recentes. A primeira coisa que precisamos fazer é introduzir a idéia de transações em nosso programa. Neste momento, não
estamos rastreando depósitos e saques, então é por onde começamos. Clique com o botão direito do mouse no projeto A T M no Solution Explorer e adicione um novo nome de classe. A transação de usuário de classe, como as outras classes ou objetos que introduzimos no programa, marcou a classe como interna. Precisamos adicionar um par de propriedades para o objeto de transação do usuário Grande. Uma transação de string interna. Propriedade Top com um get e um conjunto,
em seguida, uma propriedade diurna interna chamado Time Stamp com um get e um conjunto último, criar uma propriedade dupla quantidade interna com um get e um conjunto. Você pode fechar esta classe agora precisamos armazenar essas transações em algum lugar. O melhor lugar para fazer isso é o objeto de conta de usuário em uma lista genérica interna de
transações de usuário e nomeou as transações de propriedade com um get em um conjunto. Se você tentar acessar e adicionar ou excluir objetos de uma lista que não foi Stan Shih , você receberá uma exceção sem referência. Então precisamos que ela comeu antes de tentarmos usá-la. Crie um construtor interno para o objeto de conta de usuário e, dentro desse construtor, defina a propriedade transactions para uma nova lista genérica de transações de usuário. Vá em frente e feche a classe da conta de usuário. Não vamos precisar dele de novo. Temos que começar a coletar as transações no método de exibição da tela de depósito no cavalo Trop
duplo ponto. Se bloco declaração depois de alertar o usuário que o depósito foi bem sucedido, precisamos adicionar uma nova transação à nossa lista. Sublinhar transações de pontos de conta ativas não são adicionadas. E dentro do método de anúncio, vamos criar uma nova transação de usuário e disse que as propriedades da classe nas chaves como fizemos antes. A propriedade amount será definida como a variável private amount. A propriedade time state será um ponto diurno agora, e a propriedade top da transação será definida para o depósito de string. Vou corrigir o espaçamento, e então precisamos criar a mesma funcionalidade na tela de retirada de tela imediatamente após a retirada. Mensagem bem-sucedida. Precisamos criar código quase duplicado, como tínhamos no método de depósito. A única diferença será a propriedade superior da transação. Será retirada em vez de depósito. Neste ponto, agora
estamos coletando as transações, mas precisamos exibi-las no método de exibição da tela de transação recente abaixo do título . Insira uma linha em branco. Em seguida, precisamos olhar através das transações do usuário no sublinhado. Conta ativa, não lista de transações. Vamos usar um quatro cada loop para fazer isso para cada transação de usuário. Em Sublinhado transações de ponto de conta ativa na próxima linha criada, Abertura Curly Brace e pressione a tecla Enter. Precisamos escrever algum conteúdo útil para a tela dentro do loop. Vou usar interpolação de cordas para isso dentro do ponto cônsul método linha direita Call. Vou exibir o dia da transação,
em seguida, o valor e, em seguida, o topo da transação. Pausa o vídeo. Se você precisa recuperar o atraso, você terá que se certificar de que sua interpolação de cordas está correta. Abaixo de Para cada loop, vou escrever uma linha em branco e, em seguida, outra linha que diz ao usuário para pressionar qualquer tecla para continuar. Isso deve nos dar toda a funcionalidade que precisamos. Execute o programa e faça login como de costume, vá para a tela de depósito. Vamos criar uma transação por $192.19. Volte para a tela de depósito e crie outra transação por $57,14. Vá para a tela de retirada e criou a retirada por $22,19 e, em seguida, outra retirada por $119,45. Se formos para a tela de transações recentes agora, devemos ter quatro transações exibidas, e lá estão elas. Bom. No próximo vídeo, teremos uma introdução ao link.
25. Introdução ao LINQ: Neste vídeo, Vou dar-lhe uma breve introdução ao Link significa linguagem Consulta integrada, que provavelmente não lhe diz muito. Se você ainda não sabe SQL, devemos começar com a parte de consulta. Consultas são instruções emitidas para um banco de dados que criam, recuperam, atualizam ou excluem dados. Isso também é conhecido como multidão criar recuperar, mas eles acreditam que essas quatro operações são as principais. Você, como desenvolvedor, executará ao usar um banco de dados, e eles são o centro de praticamente qualquer aplicativo de negócios que você criará. Link permite que você faça esses tipos de operações em código contra o banco de dados usando um mapeador relacional de
objeto ou O R N, como vinculado a sequela ou qualquer estrutura ou contra objetos em coleções de lista de memória ou um raise. Parte da beleza do Link é que há especificações no uso da Microsoft, e o código que você escreveria que acessaria o banco de dados do servidor Sequel seria o mesmo ou muito, muito próximo do treinador usaria para acessar o Oracle Database provedores de link podem ser escritos para outras tecnologias de banco de dados ou até mesmo serviços da Web. Isso também corresponderia ao que seria usado para acessar bancos de dados. O valor real do link, embora na minha opinião, é que ele torna nossos empregos como desenvolvedores muito mais fácil. Suponha o seguinte cenário. Você tem uma lista de objetos de usuário na memória. Você precisa passar por essas contas e extrair as contas que têm um saldo de US$100 ou mais. Como você pode ver, precisamos criar um loop que percorra a lista e extraia as contas com o saldo necessário. Em seguida, precisaríamos armazenar essas contas em uma segunda lista quando elas forem descobertas para que
pudéssemos fazer qualquer ação planejada ou executar a ação em linha. No entanto, com Link, isso se torna muito mais fácil. Nós simplesmente escrever uma consulta que nos dará a lista de contas com um saldo acima de $100 armazenar esses itens em uma segunda lista. Suportável. O código é muito mais limpo, mas na superfície parece mais complicado. Precisamos falar sobre expressões Lambda, expressões Lambda ou o que você vê nos parênteses de desgaste neste exemplo. Como estamos trabalhando com contas de usuário, X é uma conta de usuário. Se estivéssemos trabalhando com gerentes, seria um inteiro e uma tensão. Se estivéssemos trabalhando com cepas, então temos a flecha gorda. Isto é o que faz um Lambda Lambda depois da flecha gorda. Temos a nossa expressão que irá avaliar os itens na lista de contas e retirar os itens que correspondem à nossa consulta no final. Repare que estou lançando os resultados para uma lista. Isso pode parecer estranho, já que estamos começando com uma lista, mas quando você executa uma consulta contra a coleção ou lista, ela se torna uma parede de aquário genérica neste caso e caminha wearable de contas de usuário. Link é uma ferramenta poderosa em um kit de ferramentas de desenvolvedores e irá salvá-lo muitas, muitas teclas pressionadas. Onde está uma única função e uma que você provavelmente usará Muitas vezes há muitos, muitos mais como um único, que avalia uma expressão Lambda e retorna um e apenas um Adam. Mas se houver mais de um, você verá uma exceção. Você também verá uma exceção se não houver uma que corresponda aos critérios primeiro, que avaliará uma expressão de terra e retornará a primeira de que corresponda por último, que avaliará uma expressão de terra e retornará a última de que corresponde à ordem que reordenará seu público com base no valor de um campo nos objetos na coleção. Thor, que vai simplesmente classificar a espada itens é mais simples e mais complexo. ordem por espada permite que você fique realmente criativo em como você classifica seus itens distintos, que simplesmente retornará Os objetos distintos na lista de coleção ou matriz contém irá determinar se um objeto existe na lista. Existe irá executar a mesma funcionalidade de contém, mas avalia expressão Orlando. Em vez de procurar um objeto exato. Take irá retornar o número de objetos especificados, e skip irá saltar sobre um número especificado de objetos. Eu realmente espero que você possa ver a importância de Lincoln, seus esforços de programação e como pode ser vory convites para você aprender que no próximo vídeo, vamos construir suporte no aplicativo para vários usuários
26. Suporte do que um usuário: Neste vídeo, vamos criar a capacidade de aplicação para suportar mais de um usuário. Isso vai exigir muito menos trabalho do que você pode pensar no nível de classe, em uma lista genérica privada de contas de usuário e nomeá-lo contas sublinhadas. Remover o código atual no construtor controlador A. T M e disse que a variável contas sublinhado para um novo genericamente EST de contas de usuário fina. Precisamos adicionar algumas contas à lista, então temos algo para trabalhar. Vou adicionar a mesma conta que temos usado até agora. Com um número de conta de 1234 e opinião de 9999 vou definir o saldo $241.95 para a segunda conta. E assim eu posso facilmente lembrar quais são os números das contas. Vou dar-lhe um número de conta de 2345 e a mesma caneta quatro noves para este. Vou definir o saldo para $42.91. Vou ter mais uma conta e disse que o número da conta 23456 e quatro noves para a caneta. O saldo desta última conta será de $124,66. Isso é realmente todos os dados que precisamos para provar que vários usuários estão trabalhando agora acima da instrução if no método display log in screen. Depois de ler o número PIN inserido pelo usuário, declarar uma variável de conta de usuário chamada conta. E vamos definir isso para sublinhar contas ponto único ou padrão único ou cair atua
como único com o benefício adicional de que nenhuma exceção será lançada. Se a lista não contiver as credenciais correspondentes corretas, a variável de conta será não nos ovos de topo de chamada única ou padrão. Isso significa que a variável estava trabalhando com nesta função será referenciada com o nome da variável
X,
em seguida, a seta fat. E precisamos verificar se o número da conta ex thought corresponde ao valor que lemos
a partir da entrada do usuário. Então o número da conta X ponto duplo é igual ao número da conta. Claro, o número da conta sozinho não é suficiente. Também precisamos garantir que o número do PIN no X também corresponda ao que o usuário foi inserido. Então precisamos do grupo que com o número de conta teste duplo e para San e, em seguida, x ponto pin número é igual ao número pin, o único ou padrão tudo lê ex ponto número da conta é igual ao número da conta e X pará-lo número é igual ao membro PIN. Em seguida, precisamos remover os critérios que atualmente estamos testando e substituí-lo por. A conta não é igual ou sinal de igual ponto de exclamação. Não, não, como você deve se lembrar, não
é nada. Se a conta não é conhecido, precisamos definir a variável de conta ativa sublinhado para a conta verbal que acabamos de criar , então adicione isso acima do método de tela de menu de exibição Maio. Finalmente, no método de logout, precisamos definir o valor da variável de conta ativa sublinhado para saber antes exibir a tela de login, agora
podemos executar o teste de indução do aplicativo. Vou entrar primeiro com uma contagem. 1234 Se eu for para a tela de saldo da conta de cheque, deve ser $241.95 e perguntado em seguida, eu vou entrar com a conta 2345 e fazer a mesma coisa. O saldo deve ser de $42. 91 centavos e definitivamente parece que tudo está funcionando. Agora podemos entrar e sair do aplicativo, e o aplicativo suporta vários usuários. No próximo vídeo, vamos olhar para os nomes.
27. Enums: neste vídeo, vamos discutir os nomes. E Newme é abreviação para enumeração, que é uma lista distinta de constantes nomeadas chamado You Numerator List. Ele Nunes Avery útil quando você precisa restringir um valor de propriedade para uma lista conhecida de opções , Eu quero mostrar um pequeno exemplo. Portanto, não há mistério sobre o que estou descrevendo neste exemplo. Há uma Renovação simples declarada com o nome Vehicle Top. O nome tem três valores potenciais. Carro, SUV e caminhão. Na classe de veículo registrado, você verá que há uma variável chamada topo do veículo, e a parte superior é o nosso veículo superior E No. Por padrão, os valores na lista da noite não têm energia ou valor. Começando com zero, esses valores aumentaram em um enorme tempo. Adam é adicionado à lista neste exemplo. Eu criei um objeto de veículo e atribui o topo do caminhão de valor do veículo. Então eu estou imprimindo o valor do gerente e do valor da cadeia de caracteres do ponto do veículo topo um valor de veículo. Como você pode ver, podemos converter o valor para uma borda e obter esse valor, bem como o fluxo. Eu sei que não falamos sobre lançar valores de um dia para falar com outro, mas você deve ser capaz de dizer o que está acontecendo. Você também pode alterar a enumeração do forno valor de energia e atribuir seu próprio valor. Considere este exemplo. Como você pode ver, eu atribui um valor de três para o cartão, sexto para o SUV e nove para o caminhão, e você pode ver a prova do que eu fiz na saída os valores do caminhão ainda impressos . Mas os valores de energia e mudar para nove. Este é um nome livre, mas eu espero que você pode ver por que você gostaria de usá-los no próximo vídeo. Estaremos corrigindo alguns bugs em seu aplicativo.
28. Correções de bug: neste vídeo, vamos corrigir alguns bugs no aplicativo e adicionar um aprimoramento que eu preciso para
esclarecer . Quando você está criando software, é vital que você não escreva novo código e crie novos recursos em um aplicativo até que todos os bugs foram corrigidos. Se você tem alguma escolha, é uma decisão muito lógica. Se você tiver bugs existentes, você pode estar escrevendo código depende desse código de bugs. Isso significa que o bug continua ficando cada vez mais difícil de corrigir e em
aplicativos comerciais , mais caro de corrigir. Uma ondulação Ao longo dos últimos vídeos, temos feito exatamente isso, mas não é um hábito que eu olharia para cultivar se eu fosse você. O primeiro bug que vamos olhar está no menu principal. Se um usuário não selecionar uma opção válida, o programa terá que ser encerrado e recarregado. Deixe-me demonstrar isso rapidinho. Como você pode ver, se eu inserir um valor inválido como seis, a tela apenas fica lá. Precisamos consertar isso recarregando o menu. Depois que uma seleção inválida é inserida no método de tela do menu principal de exibição dentro da instrução
switch e a opção padrão após a linha de tecla reid do console ponto. Você só precisa chamar o display main em seu método de tela novamente. Se executarmos o aplicativo novamente, o comportamento deve ser corrigido. Vou tentar seis de novo. O menu recarrega. Bom. Eu vou tentar outro 19 Ok, eu vou pegar o próximo bug é um bastante simples bem, e realmente não é um bug, mas mais de uma lacuna na tela de depósito. Se você depositar $10 estavam exibindo uma coisa mensagem que o depósito de $10 foi aceito. No entanto, na tela de retirada, apenas
exibimos uma mensagem dizendo que a retirada foi bem-sucedida e que a mensagem não tem o valor em dólar. Vamos demostrar isso rapidinho. Vou começar com a mensagem que é exibida quando você faz um depósito, ver o valor que é impresso na mensagem de confirmação. Agora vou fazer um levantamento. Podemos contrastar a mensagem de sucesso depósito. Com a mensagem de retirada bem-sucedida e o método da tela de retirada de exibição, você só precisa alterar a mensagem de sucesso para corresponder ao que os depósitos verdes mostram. Podemos muito bem você interpolação de cordas. Vou executar o aplicativo novamente e apenas certificar-me de que a funcionalidade está funcionando como pretendido. Parece que está tudo bem. OK, a próxima parte é para o aprimoramento. Neste momento, estamos usando cepas para criar transações com a palavra depósito e retirada. Precisamos mudar isso. Para usar um email, clique com o botão
direito do mouse em 18 e Project no Solution Explorer e adicione um novo nome de classe a transação de classe superior uma vez aberta em um modificador interno para a classe
e, em seguida, remova a classe de palavra e substitua -lo com a noite na lista Innu Marais Shen. Basta adicionar depósito e retirada como opções. Você pode fechar este outono agora e abrir a classe de transação do usuário. Só precisamos mudar a transação. Propriedade superior Economia de tempo da transação superior. Feche este arquivo também. Agora, de volta à classe do controlador A T M no método da tela de retirada de exibição. Nós só precisamos substituir a retirada de texto com a retirada do ponto superior da transação, e precisamos fazer a mesma coisa e o método da tela de depósito de exibição, substituindo o fluxo de
depósito com o topo da transação, não depositar. Essas devem ser as únicas alterações necessárias para esse aprimoramento. O texto do topo transação ela ainda por agora como depósito e retirada. Certo, isso funciona muito bem. O próximo bug que vamos olhar é um problema de exibição. Sempre que imprimimos um valor em dólar para a tela, precisamos desse valor devidamente formatado para a moeda. Vou passar por alguns testes para que você possa entender o problema. Vou depositar $10. O que gostaríamos de ver aqui é uma moeda sambal tan 0.0 Formatado corretamente. Vou passar por mais algumas transações para ter certeza que eu tenho em minha mente exatamente o que precisamos. Em cada caso, queremos que a moeda sambal quer na frente do valor do dólar de volta valor decimal pecado , independentemente do que estamos exibindo. Uma vez que estamos exibindo moeda na tela e a maioria da mensagem, como exibição tela de
depósito, exibição tela de
retirada, exibição tela de transação
recente da conta, tela de
saldo, precisamos usar um único método longo que podemos chamar a partir de cada um desses métodos para obter o formato
adequado para que não tenhamos código duplicado em todos os lugares, e se um problema for encontrado, nós só temos que corrigi-lo em um único lugar. Esta é a chave para escrever um bom código de manutenção. Vou criar um método privado que retorna uma string chamada Get Currency para exibição, e ele vai aceitar um argumento de top double, e eu vou nomear esse valor argumento. Vou usar o formato de ponto de string aqui para fazer exatamente isso. Pegue o valor duplo que estamos tentando imprimir e formatado corretamente. Eu sei que olhamos brevemente um formato de ponto de string no vídeo Trabalhando com strings, mas tem alguma funcionalidade que não cobrimos. Você pode realmente pedir a função de formato para formatar de uma forma específica dentro do método. Crie uma variável de cadeia denominada Formatted Value igual formato de ponto de cadeia e, em seguida, use
aspas duplas . E isso vai parecer um pouco estranho se você lembrar a função de formato de ponto string usa um lugar sob sistema, então vamos usar aberto Carly zero Colon Capital C.
Close . Curly. O que isso está fazendo é dizer que queremos o primeiro argumento, mas nós queríamos no formato C maiúsculo e o formato C maiúsculo passa a ser moeda, então quando ele nos dá o valor de volta, ele deve ser formatado corretamente Agora nós só temos que colocar uma vírgula após a citação de fechamento e , em seguida, usar o valor que foi fornecido para o método e, em seguida, retornou o formato
do valor do método. Finalmente, precisamos passar pelo código existente e chamar esse método em todos os lugares que estamos colocando para fora um valor de moeda para a tela. A exibição do mito da tela de transação recente. É o primeiro. Remova o sinal de cifrão e envolveu o valor do valor do ponto da transação na moeda de obtenção para método de
exibição. Precisamos fazer a mesma coisa no método da tela de retirada de exibição. Remova o sinal de dólar e envolva a variável de quantidade na chamada de método e novamente no método da tela de depósito de
exibição e, finalmente, no mito da tela de saldo da conta de exibição. Este é sublinhado. Conta ativa sobre saldo. Certo, acho que está em todo lugar. Só vou ter certeza que você está bem. Vamos executar o aplicativo e dar uma olhada nos resultados. A tela de saldo da conta parece boa, mas precisamos de mais dados. Eu vou depositar $5.5 fãs e, em seguida, retirada $10, em seguida, retirar outro $1,50. Agora, se voltarmos para a tela de saldo da conta. Ele deve ser exibido corretamente. Faz antes de fechar. Vamos dar uma olhada rápida na tela de transações recentes. É bom para o bug final está na tela de login. Neste ponto, quando um usuário insere credenciais inválidas, ele não consegue ver uma mensagem sobre o ar que pode demonstrar muito rapidamente o que está acontecendo aqui. E, como você pode ver quando você insere credenciais inválidas, sua mensagem não fica visível. A solução é bastante simples. Na exibição, log-in método de tela na parte superior removida a linha de ponto claro do console no caso de
credenciais inválidas . Ainda precisamos limpar a tela, mas vamos fazê-lo antes das mensagens aéreas exibidas e eles chamam o
método de exibição log na tela novamente. Logo acima da mensagem de falha de autenticação em seu console ponto claro, e eu acho que é isso. Melhor verificar o método de logout. Já está lá. Ok, vamos testar. Se eu inserir credenciais inválidas como 123 e 9999 devemos ver a
mensagem preenchida de autenticação , e lá está, ótimo. Isso cobre todas as correções de bugs que eu conheço. Até este ponto, existem duas deficiências no aplicativo, mas essas serão abordadas na próxima seção. Quando eu lhe der algumas tarefas para trabalhar sozinho. No próximo vídeo, falaremos sobre o que está envolvido na Seção 3.
29. Introdução a atribuições: Neste vídeo, vou lhe dar uma prévia do que esperar nesta seção final. Nesta seção, darei a vocês uma Siris de Osama para completarem por conta própria. Eles um pouco o curso é coberto. Você deve ser capaz de completar as tarefas de forma bastante fácil. Se você achar que não pode concluir a tarefa, tente olhar para trás através do curso. Eu indicarei em cada Osama onde aprendemos o que você precisa para completar o trabalho se você ainda tiver problemas para completar a tarefa. Depois de olhar para as seções indicadas, assista ao próximo vídeo e mostrarei como resolvo o problema e depois volto e tente novamente. Neste ponto, o aplicativo está quase completo, então esses islamistas são apenas para ajudá-lo a pensar criticamente sobre o aplicativo e o processo de
desenvolvimento e o próximo vídeo. Vamos olhar para a nossa primeira tarefa
30. Assignment nº: neste vídeo, vou apresentar alguns requisitos básicos para o componente de cabeçalho. Aqui está a descrição do problema. Como usuário,
eu gostaria de ver meu nome completo no saldo da conta do menu principal, saque de
depósito e telas de transações recentes na forma de uma mensagem de boas-vindas. E aqui estão os requisitos técnicos. Primeiro, a solução precisa ser reutilizável. Em segundo lugar, a mensagem de boas-vindas deve parecer decente na tela. Em terceiro lugar, a mensagem deve ser exibida na parte superior de cada tela onde você sabe quem é o usuário. Basicamente, isso está excluindo a tela de login e por último, você vai ter que adicionar um nome, propriedade para a conta de usuário, objeto e preencher o nome com algum valor. Se você encontrar algum problema, veja o próximo vídeo para ver a minha solução e, em seguida, volte e tente reformular a sua. No próximo vídeo, vou rever a minha solução para o componente de cabeçalho
31. Revisão de atribuição #: neste vídeo, mostrarei minha solução para criar um componente de cabeçalho. Começarei com o quarto requisito técnico e adicionarei a propriedade name ao objeto de
conta de usuário . Eu também não vou usar o nome. Vou usar o nome completo. Sempre tente ser o mais descritivo possível com nomes de propriedades. Então você nunca tem que duvidar para que eles estão sendo usados. Em seguida, darei a cada uma das contas que criamos no construtor do controlador A t M um valor para a propriedade nome completo. Vou usar nomes aleatórios Karen Smith, Tom Granger e Eva Richards. Certo, isso satisfaz isso. Em seguida, eu vou cuidar do primeiro requisito, adicionando um método privado sem retorno top chamado display. Mensagem de boas-vindas. Isso significa que nós só temos o código que imprime a mensagem de boas-vindas em um único lugar em Nós poderíamos apenas chamar este método onde precisamos dele. Dentro. Vou usar console ponto linha direita para imprimir a mensagem e você interpolação string para
formatar . A mensagem irá dizer Bem-vindo ao banco dos
EUA EUA e, em seguida, abrir sublinhado atualmente. Ativo ponto da conta principal completa Encaracolado também, para satisfazer o segundo requisito, vou usar uma linha direita do ponto do console vazio para dar ao componente de cabeçalho um pouco de espaçamento. Finalmente, vou assumir o terceiro requisito. Vou começar com uma tela de transação recente e logo após o console ponto claro. Vou chamar a mensagem de boas-vindas de exibição, método e trabalhando do nosso jeito. Ah, eu vou fazer a tela de retirada em seguida, também logo após o ponto cônsul linha clara, e eu repito o mesmo para a tela de depósito e novamente para a tela de saldo da conta e ,
finalmente, para o principal método de menu. Agora vamos fazer um teste rápido. Vou usar a mesma conta sempre usar, e parece decente o suficiente na tela do menu principal e na tela de saldo da conta. A tela de depósito está boa. Eu tenho que inserir um depósito para sair desta tela. A tela de retirada também parece divertido e também tem que entrar retirada aqui para sair, ea tela de transação recente também é divertido. No próximo vídeo, vou dar-lhe um Osama para um par de problemas de tela de depósito
32. Assigna a tela de depósito: neste vídeo, vou expor a problemas na tela de depósito e obter algumas diretrizes gerais sobre o que
fazer para corrigir os problemas. Aqui está a primeira edição. Eu quero demonstrar o problema para que você possa ver um em primeira mão se bloquearmos a conta 1234 e irmos para a tela de saldo da conta, você pode ver que ele tem um saldo atual de $241,95. Agora, se formos para a tela de depósito e depósito negativo 10 será aceito. Agora, se voltarmos para a tela de saldo
da conta, o saldo da conta teve $10 deduzidos. Este não é um problema que você provavelmente veria em um real 80 M porque ele não tem uma
chave de menos . Mas nós temos um, então temos que explicar isso aqui. E aqui está a declaração do problema. Como usuário, quando eu tentei depositar US $0,0 ou menos, o sistema deve rejeitar a transação, e aqui estão os requisitos para a correção. Em primeiro lugar, não podem ser aceites
depósitos de menos de um cêntimo. Talvez seja necessário rever o vídeo if else para obter uma atualização. Em segundo lugar, quando isso acontecer, notifique o usuário especificamente sobre o que ele fez de errado. Por último, o usuário ainda deve estar na tela de depósito após a entrada inválida, então siga junto com as mensagens de erro existentes para fornecer uma experiência de usuário consistente. Aqui está a segunda declaração do problema. Como usuário, eu deveria ser capaz de voltar para a tela do menu principal a partir da tela de depósito sem fazer um depósito. Os requisitos do inquilino são atualmente um dos usuários entra na tela lá, solicitado o valor do depósito interno e pressione a mudança interna que a mensagem também inclui que eles podem inter X para retornar ao menu principal. E, é
claro, você terá que testar esse valor e, em seguida, retorná-lo para a tela do menu principal se ele
entrar. Em segundo lugar, isso precisa ser reutilizável. Como você sabe, que a tela de retirada tem o mesmo problema é a tela de depósito para que possamos muito bem ter uma única solução para ambos os problemas? Você pode ter que colocar algum pensamento em como você pode resolver este problema de forma simples e elegante, mas é um bom teste de suas habilidades de raciocínio. O requisito reutilizável é definitivamente um rancho de macacos, mas oferece uma chance para você melhorar essas habilidades novamente. Se você não conseguir encontrar uma boa solução para os problemas, assista ao próximo vídeo e, em seguida, revisite os problemas novamente. No próximo vídeo, vou rever minha solução para este asama.
33. Revisão de atribuição #: neste vídeo, vou fornecer a minha solução para corrigir a atribuição da tela de depósito. Vamos começar no método da tela de depósito de exibição. Vou abordar o primeiro requisito do primeiro problema impedindo um usuário de depositar valores
zero ou negativos dentro do if dot double tri par declaração. Vou testar se a variável de quantidade é menor ou igual a zero, e eu vou em frente e criar o outro e depois lidar com isso primeiro. O outro terminará antes da segunda casa nesta declaração. Em seguida, vou satisfazer o segundo requisito do primeiro problema dentro do Se eu acabei de criar, vou usar linha direita ponto cônsul para imprimir o ar. Os depósitos de mensagens devem ser maiores que $0.0. Pressione qualquer tecla para continuar,
em seguida, um ponto conso Recy para a execução de Paul. E, finalmente, para satisfazer o terceiro requisito do primeiro problema, vou adicionar uma chamada para exibir tela de depósito. Vamos executar o aplicativo e testar essa parte da funcionalidade inserindo as mesmas credenciais de sempre. Se formos para a tela de depósito, vou tentar depositar negativo $10. Ótima. Foi rejeitado. Agora precisamos testar o personagem de escape para satisfazer o segundo problema. A primeira coisa que vou fazer é tentar satisfazer o segundo requisito criando um
método privado que retorna um valor booleano chamado é seqüência de escape de entrada. E ele vai levar um único argumento string chamado entry. Neste método, vou criar uma variável booleana chamada é Match. Agora preciso testar o valor que foi passado. Então eu vou criar uma instrução if e eu vou lançar o argumento de entrada para minúsculas. Então eu não tenho que me preocupar em testar valores maiúsculas e minúsculas. E se esse argumento de entrada em minúsculas for igual a X, vou definir a variável de correspondência é. Verdadeiro. Então, depois disso, se eu apenas devolvesse o jogo é. Maribel, de
volta ao método da tela de depósito. Eu preciso implementar isso para que eu vou criar outra declaração if acima da
variável de quantidade dupla . E a declaração vai dizer se é sequência de fuga de entrada e eu vou passar o
valor do depósito lá. Se essa afirmação for verdadeira, precisamos chamar o método da tela do menu principal de exibição. Se não for verdade no outro eu vou apenas embrulhar o resto do código neste método e eles estão fechando Curly ao lado para satisfazer o primeiro requisito do segundo problema. Eu só preciso alterar o produto que é exibido para o usuário quando ele entra na tela. Eu iria apenas adicionar ou pressionar X e entrou saída. Ok, Estamos prontos para testar se eu inserir as mesmas credenciais e, em seguida, ir para a tela de depósito porque eu mudei o trabalho. Trabalhamos mais cedo. Eu só vou ter certeza de que a tela ainda não vai processar postits negativos. Certo, isso funciona bem. Agora vou experimentar ovos. Bingo. Isso também funciona. No próximo vídeo, vou dar os detalhes sobre a terceira tarefa, que é quase idêntica ao que acabamos de fazer aqui para a tela de retirada.
34. Assignment #3 — correção da retirada: neste vídeo, vou dar uma visão geral rápida dos requisitos para corrigir a
atribuição da tela de retirada . Aqui está a primeira declaração problema como um usuário, quando troted retirada $0.0 ou menos, o sistema deve rejeitar a transação e os requisitos são os primeiros. As retiradas de menos de um cêntimo devem ser rejeitadas. Em segundo lugar, quando isso é tentado, uma mensagem de erro deve ser exibida informando que é semelhante à do mesmo cenário
na tela de depósito. Em terceiro lugar, o usuário deve permanecer na tela de retirada em vez de ser redirecionado de volta para o
menu principal . Em quarto lugar, a solução precisa ser reutilizável e último fator re que uma solução de tela de depósito para reutilizar este aqui é a segunda declaração problema. Como usuário, eu deveria ser capaz de voltar para a tela do menu principal a partir da tela de retirada sem fazer uma retirada. E aqui outros requisitos primeiro alterar a mensagem que é exibida na
tela de retirada quando o usuário entra pela primeira vez para também indicar que eles podem pressionar X para sair da tela . Em segundo lugar, use a solução existente que foi desenvolvida para a tela de depósito. No próximo vídeo, vou dar-lhe a minha solução para este problema
35. Revisão de atribuição #: neste vídeo, vou rever a minha solução para a atribuição para corrigir a tela de retirada. Vou começar adicionando um novo método de lucro que retorna um bully e chamado O
valor da transação é válido? E esse método terá um único argumento duplo chamado Value. Precisamos testar o perímetro de valor para ver se é menor ou igual a zero. Se for, fomos devolvidos falsos. Após a declaração s, você pode retornar true com segurança. Vamos fazer uma pausa por um minuto e dar uma olhada nisso porque eu percebo que pode parecer um pouco estranho. Este é realmente o equivalente a uma instrução if else porque estamos retornando o valor na instrução if,
A declaração de retorno True não será atingido se o valor for zero ou menos. Espero que você possa entender o que está acontecendo aqui. Mas se não, sinta-se livre para reescrevê-lo para ser uma instrução FL completa ou semelhante ao método de
seqüência de escape de entrada é logo acima disso. Em seguida, no método de tela de retirada de exibição trouxe abaixo do bloco de
abertura de cavalo se duplo ponto trop , Vou adicionar outro if declaração que vai chamar o é valor de transação método válido e passando o valor da quantidade. Então, se esse valor é válido, queremos ir em frente e executar o código existente. Então precisamos bloquear esse casaco com uma cinta encaracolada depois do próximo. Se else declarações conclusão, também
precisamos adicionar uma instrução else para a nova instrução if. Se o valor não for válido, queremos mostrar no ar mensagem dizendo que o valor da retirada deve ser maior do que $0 0 centavos. Pressione qualquer tecla para continuar. Então precisamos de Paul com Conso Dot Reekie e finalmente recarregar a retirada. Gritar chamando o método da tela de retirada de exibição. Precisamos também do implementar a mesma funcionalidade e os depósitos de exibição método verde. Vou remover a quantidade if é menor ou igual a zero declaração ea declaração
else correspondente e obter tudo de volta ao normal, assim como na tela de retirada. Nós queremos executar este código se a variável quantidade é válida, então eu vou criar outra instrução if no mesmo lugar para testar o valor da quantidade usando o valor da transação. Método válido. Esta declaração se vai terminar antes da próxima Els e vamos adicionar a nossa própria declaração l. Se o valor do valor não for válido, precisamos exibir uma mensagem dizendo que o valor do depósito deve ser maior do que $0 0 areias pressione qualquer tecla para continuar. Então eu vou pausar com ponto console Reekie e finalmente chamado a
mensagem tela de depósito de exibição . Isso cuida das mudanças necessárias. Para a primeira declaração do problema, vou começar na segunda declaração do problema alterando a mensagem existente na tela de
retirada para também incluir ou pressionar X e interna para sair. Em seguida, vou adicionar uma nova instrução if acima da declaração de montante duplo, e eu vou chamar o if é método de seqüência de escape entrada e passando a
variável de quantidade de retirada . Se esta é a sequência de escape, só
precisamos exibir a tela do menu principal. E se não for verdade, queremos executar todo o resto no método. Então, a chave de fechamento vai no final do método. Agora contestamos. Vou inter credenciais e ir para a tela de depósito para se certificar de que eu não quebrar nada . Vou tentar negativo 10 em que é rejeitado. Bom. Agora eu inverno X e certifique-se que ele nos redireciona para o menu principal que funciona bem. Em seguida, vamos testar a tela de retirada. Vou tentar 10 negativo. Bom. Agora eu só quero ter certeza de que uma boa quantidade de retirada será realmente aceito para que eu entraria 10. Ok, isso também está funcionando. Ok, agora volte para a tela de retirada, e vamos ter certeza de que o X se comporta é o que deveria, como ele faz muito bem, e o próximo vídeo será a revisão do curso ou mais tarefas. Como vejo falhas no curso ou melhorias a serem feitas, adicionarei mais atribuições se nada tiver sido adicionado. O vídeo final, a revisão do curso, é o próximo.
36. Revisão do curso: neste vídeo, vou fechar no curso e oferecer alguns pensamentos finais, apreciação e conselhos. Primeiro, quero agradecer-te por continuares com o curso até ao fim. Também quero lembrá-lo que sua opinião é importante, e se você ainda não fez isso, eu encorajo você a deixar uma classificação e feedback se esse feedback é bom ou ruim. Claro, quanto mais informações você der, melhor. Isso vai me ajudar a melhorar o curso e me ajudar a melhorar como instrutor. Se está se perguntando o que deve fazer a seguir, tenho a única pergunta que deveria fazer a si mesmo. Você acha que você deve ficar com C afiado ou encontrar outra língua para aprender? Se você vai ficar com C afiado, eu quero lembrá-lo de quais opções você tem, mas você deve assistir o vídeo nítido Y C novamente. Ali. Veja quadros afiados e ferramentas disponíveis para você segmentar o Windows na forma de WP f e você WP Para a Web, você pode escolher entre um s p dot net Web formulários, e eu pedi Donna NBC para Mobile. Você deve verificar Samrin e para o desenvolvimento de jogos Unity três D. No entanto, se você acha que o C Sharp simplesmente não é
para você, por algum motivo, Eu encorajaria você a olhar para uma das três linguagens Java JavaScript ou C plus plus plus dos três Java é provavelmente a melhor opção. É muito perto de ver nítido, e você pode alavancar quase tudo o que você aprendeu neste curso imediatamente. JavaScript é muito flexível e a linguagem de programação da Web, e está realmente explodindo com essa explosão, no entanto, vem fragmentação. O estado do JavaScript só pode ser descrito agora é uma bagunça, mas oferece um crescimento maciço. Não haverá menos sites amanhã ou no próximo ano do que há hoje. E finalmente C mais C mais C mais mais, na minha opinião, é uma linguagem muito mais difícil de aprender que trabalho nítido C, mas foram script Java e você terá muito mais preocupações com C mais. Mas as possibilidades com C plus são quase ilimitadas. Você pode fazer quase tudo de novo. Quero agradecer-te por fazeres o curso. Se você encontrar algum problema ou precisar de ajuda, entre em contato comigo no fórum de discussão para este curso. Vou verificar regularmente. Desejo-lhe tudo de melhor em seus esforços de programação. Adeus.