1a. Introdução - duração 20 minutos
- Criação do C# -> C, C++ , Java e C#
- A evolução do C#
- A .NET Framework
- Arquitetura .NET - MSLI , CLR
- Como a CLR atua
- C# - Compilação e Execução
- Processo de execução
- Quando usar C#
- Ambientes de Desenvolvimento
- C# - Características
- C# - Um simples programa
- C# - Sintaxe Básica
2a. Variáveis e Tipos - duração 44 minutos
- Variáveis e Tipos, Conceitos e definição
- Tipos de variáveis
- Tipos – Valores possíveis
- Variáveis - Nomes (Recomendações Microsoft)
- Variáveis e conversões
- Operadores
- C# - Um programa bem simples ( Comentado )
- Usando Variáveis
- C# - Sintaxe Básica
3a. Nullable Types - duração 20 minutos
- Variáveis e Tipos, Conceitos e definição
- Criando tipos anuláveis: tipo? nome, Nullable<tipo> nome
- Atribuindo valores e lendo o conteúdo, Verificando o Null
- Conversões explícitas e implícitas.
- Características dos tipos anuláveis
- Propriedades HasValue e Value
- O tipo anulável bool?
4a.
Variadas Tipadas Implicitamente (Var) - duração 30 minutos
- Variáveis tipadas implicitamente, conceitos e definição
- A palavra-chave var
- Sintaxe e contexto de utilização
- Como usar e uso obrigatório e opcional
- Restrições na utilização da palavra-chave var
5a. Estruturas de fluxo - duração 50 minutos
- Estruturas de decisão : if / if/else / if/elseif /
switch/break
- if aninhados
- Programas Exemplos sobre cada estrutura de decisão
- Exemplos
6a. Estruturas de repetição - duração 37 minutos
- Estruturas de repetição
- While, do/While, for e foreach
- interrupção da repetição: goto , break, continue e return)
- Programas Exemplos sobre cada estrutura de decisão
7a.
Switch Case - duração 32 minutos
- Switch/ Case - Conceito e definição
- Sintaxe e utilização
- Switch/ case/ break / goto
- Exemplos práticos
8a.
Conversão de Tipos - duração 28 minutos
- Conversão de Tipos
- Conversões implícitas
- Conversões explícitas (casts)
- Conversões definidas pelo usuário
- Conversões de classes auxiliares
- Tabela de referência para conversões Explicitas
9a. Lógica - duração 19 minutos
- Lógica de Programação
- Algoritmo
- Pseudo-Código
- entrada, o processamento e a saída de dados
- Diagrama de blocos
- Fluxogramas
- A estrutura de seqüência
- Exemplos
10a. Enum - duração 17 minutos
- Enumeração
- Enumeration
- System.Enum
- Enum
- Exemplos
11a. Operadores - duração 47 minutos
- Operadores da linguagem
- Aritméticos, Atribuição, Relacionais, Incremento e decremento: Prefixo e
Sufixo:
– Lógicos, Ternário
– Precedência operadores
12a. Arrays - duração 42 minutos
- Arrays - definição , Sintaxe
- Tipos
- Representação em memória
- Dimensões
- Percorrendo arrays - Foreach , For , While
13a. Namespaces - duração 31 minutos
- Namespaces
- Definição, Utilização
- Exemplos
14a. Métodos e Funções - duração 41 minutos}
- Métodos - Conceitos
- Procedimentos e Funções
- Método Main()
- Método (assinatura e corpo)
- Métodos – por valor e ref ou out
15a. duração 15:19 minutos
- Parâmetros Opcionais - Conceitos
- Parâmetros e Argumentos
- Como usar parâmetros opcionais
- Especificando um valor padrão
- Exemplos práticos
16a. Structs - duração 47 minutos
- Structs - Conceitos
- Definições
- Criando tipos de dados
- Exemplos práticos
17a. Classes - duração 40 minutos
- Classes - Conceitos - Objetos
- Criação ( new )
- Propriedades
- Construtor (Sub New)
- Métodos
- Propriedades, Construtor, métodos
- Encapsulamento, Sobrecarga
- Tipos por referência
- Static
- Visibilidade ou escopo : public, protected, internal, private, protected
internal
18a. Diferença entre Classes e Structs - duração 27 minutos
- Definição de Structs e Classes
- Structs tipo por valor, Classes tipos por referência
- Principais diferenças entre classes e structs
19a. Classe e Herença - duração 60 minutos
- Classes - Herança
- Classe Pai, Classe Base, Classe Filha, Super Classe, Classe derivada
- Exemplos
- Inicializadores de Construtor
20a. Classe Membros static - duração 31 minutos
- Classes estáticas
- Membros estáticos - classes propriedades, métodos
- Exemplos
21a. Tratamento Exceções - duração 36 minutos
- Tratamento de Exceção
- Usando try/catch/finally
- Propriedades da classe Exception
- Lançando exceções - throw
- Classe Exception e Derivadas
- Principais exceptions
22a. Classe Abstrata - duração 36 minutos
- O modificador abstract
- O modificador sealed
- Métodos Abstratos
- Exemplos
23a. Interface - duração 40 minutos
- Definição de interface
- Sintaxe e implementação
- Quando usar interfaces
- Diretrizes para criar
interfaces
- Desvantagens das interfaces
24a. Diferenças Classe
Abstrata e Interface - duração 22 minutos
- As principais diferenças entre classe Abstrata e
Interface
- Exemplos
25a. Methodo Hiding - duração
9 minutos
- Methodo Hiding ou Ocultamento de método - conceito
- Usando o modificador
new para ocultar métodos
- Exemplo
26a. Polimorfismo - duração 36 minutos
- Polimorfismo
- Conceitos - Herança, Encapsulamento e Polimorfismo
- Encapsular significa "ocultar informações
- Polimorfismo significa muitas formas
- Polimorfismo em tempo de compilação (Overloading/Sobrecarga)
- Polimorfismo em tempo de execução (Overriding/Sobrescrita)
- Polimorfismo com herança e métodos virtuais
- Polimorfismo com sobrecarga de métodos
- Polimorfismo com Interfaces
- Exemplos práticos
27a. Strings - duração 26 minutos
- A classe Strings
- Chars e Length
- Métodos e Propriedades : Replace, Insert, Remove, Substring, ToLower,
IndexOf, EndsWith, Contains
- Strings são imutáveis
- Comparando strings ( ==, Equals)
- Concatenando Strings
- StringBuilder (objeto mutável) : Append, Insert
- Exemplos
28a. Coleções - duração 43 minutos
- Coleções : Conceitos. ( Diferença entre Arrays)
- Boxing e Unboxing
- System.Collections : IEnumerable, IEnumerator, ICollection, IList,
IDictionary
- Stack, Queue, BitArray
- SortedList, HashTable
- ArrayList : Count, Capacity, Contains, Clear, Insert, RemoveAt
- Coleções de tipos Seguro
- Exemplos
29a.
Generics - duração 19 minutos
- Generics - Conceitos
- System.Collections.Generic
- Usando um parâmetro de tipo genérico T
- List<T> , LinkdeList<T> , Stack<T> , SortedList<TKey, TValue>
- SortedDictionary<TKey, TValue> e Queue<T>
- Restrições : where T:struct / where T:class / where T:new(), where T:
<interface>
- Exemplos 30a.
Partial Class - duração 15 minutos
- Partial Class
- palavra-chave partial
- Partial Types
- Conceitos, propriedades e Regras de utilização
- Exemplos
31a. Delegates - duração
24 minutos
- Delegates : Ponteiros para métodos
- Conceitos e exemplos práticos
- Projeto Completo do
Exemplo e notas da vídeo aula
32a.
Delegate Func - duração
17 minutos
- Delegates : Ponteiros para métodos
- Apresentando o delegate Func
- Conceitos e exemplos práticos
- Projeto Completo do
Exemplo e notas da vídeo aula
33a.
Delegate Action - duração
28 minutos
- Delegates : Ponteiros para métodos
- Apresentando o delegate Action
- Conceitos e exemplos práticos
- Projeto Completo do
Exemplo e notas da vídeo aula
34a.
Delegate Predicate - duração
18 minutos
- Delegates : Ponteiros para métodos
- Apresentando o delegate Predicate
- Conceitos e exemplos práticos
- Projeto Completo do
Exemplo e notas da vídeo aula
35a. LINQ - duração 37 minutos
- LINQ - Language integrated Query
- Conceitos
- LINQ to Objects , LINQ to ADO .NET , LINQ to XML
- O que eu ganho usando LINQ ?
- A sintaxe básica do LINQ
- Algumas implementações 36a.
LINQ - duração
46 minutos
- LINQ - Language integrated Query
- Os fundamentos da LINQ
- Object Initializers, Collection Initializers
- Anonymous Type, Implicitly Typed Local variables (var)
- Exemplo de aplicação usando os recursos acima
- Projeto Completo do Exemplo e notas da vídeo aula
37a.
LINQ - Operadores de Consulta - duração
30 minutos
- LINQ - Language integrated Query
- Métodos de Extensão, IEnumerable, IQueryable
- Standard Query Operators,
-
Exemplos de Métodos de Extensão
- Recomendações e Restrições dos Extension Methods
- Projeto Completo do Exemplo e notas da vídeo aula 38a. LINQ - Expressões Lambdas
- duração
42 minutos
- LINQ - Language integrated Query
- Expressões Lambdas, definição, operador lambada
-
Exemplos de expressões lambda, com delegates, tipos anônimos
- Exemplos de expressões lambdas com delegate Func e Predicate
- Projeto Completo do Exemplo e notas da vídeo aula
39a.
LINQ - Query Expressions - duração
45 minutos
- LINQ - Query Expressions : conceitos, Linq Providers
- Consultas com operadores padrão IEnumerable, IQueryable
- Sintaxe das expressões de consulta : from
- Variável de consulta e variável de intervalo
- Expressões de consultas com múltiplos from
- Projeto Completo do
Exemplo e notas da vídeo aula
40a.
LINQ to XML - duração
22:53 minutos
- LINQ to XML
- Hierarquia de classes : XDocument, XElement, XComment, XAttributes
- Criando arquivos XML : construção funcional
- Criando arquivo XML usando XDocument e XElement
- Projeto Completo do Exemplo e notas da vídeo aula
41a. Reflection - duração
-
Metadados e Atributos - conceitos
- Reflection : conceito e definição
- Reflection : exemplo de uso
- Compreendendo metadados e assemblies
- Obtendo informação de um Assembly
- O namespace System.Reflection : GetTypes, GetMethods, GetFields, Get
Properties
-
Projeto exemplo com código fonte
42a.
duração 26 minutos - Windows Forms - I
Windows Forms - Apresentação e Introdução
Conhecendo o IDE do Visual Studio
Conceitos sobre projetos Windows Forms
|
43a.
Vídeo Aula - duração 45 minutos - Windows Forms - II
Windows Forms - Apresentação e Introdução
Conhecendo o IDE do Visual Studio
Conceitos sobre projetos Windows Forms - ToolBox, Solution Explorer
Criando um projeto Windows Forms - Layout - controles Label, TextBox, Button
44a.
Vídeo Aula - duração 32 minutos - Windows Forms - III
Windows Forms - Apresentação e Introdução
Conhecendo o IDE do Visual Studio
Conceitos sobre projetos Windows Forms - ToolBox, Solution Explorer
Eventos, Propriedades, Métodos, Eventos, Validação controles TextBox
45a.
Vídeo Aula - duração 34 minutos - Windows Forms - IV
Windows Forms - Apresentação e Introdução
Conhecendo o IDE do Visual Studio
Conceitos sobre projetos Windows Forms - ToolBox, Solution Explorer
Eventos, Propriedades, Métodos, Eventos, Validação controles TextBox,
Label, Button 46a.
Vídeo Aula - duração 41 minutos - Windows Forms - V
Windows Forms - Apresentação e Introdução
Conhecendo o IDE do Visual Studio
A interface MDI - Multiple Docmento Interface : Formulário Pai, Formulário
FIlho
Criando uma Aplicação MDI
47a. Vídeo Aula - duração 42 minutos - Windows Forms - VI
Apresentando o Namespace System.IO
Acessando e tratando diretórios e arquivos
A classe Directory - GetDirectories, GetFiles, Delete, GetLogicalDrives,
Exists 48a.
Vídeo Aula - duração 54 minutos - Windows Forms - VII
Apresentando o Namespace System.IO
Acessando e tratando diretórios e arquivos
A classe File - Copy, Move, Replace, Delete, Creatext, OpenText, Readline
49a. Vídeo Aula - duração 72 minutos - ADO .NET - Acesso ao banco de dados SQL Server
Apresentando ADO .NET - Conceitos básicos
DataSet, DataReader, DataAdapter, Command
Roteiro Básico para acesso a dados
SqlConnection, SqlCommand, Parameters
Instruções SQL para atualizar , incluir, excluir dados:
SELECT,INSERT,UPDATE, DELETE
ExecuteReader, ExecuteNonQuery
Aplicação Estoque - CRUD Completo 50a.
Vídeo Aula - duração 19 minutos - ADO .NET - Acesso ao banco de dados My SQL
Apresentando ADO .NET - Conceitos básicos
DataSet, DataReader, DataAdapter, Command
MySQL Connector para plataforma .NET
MySqlConnection, MySqlCommand, Parameters
MySQL Administrator Conceitos, MySQL QueryBrowser
Criando banco de dados e Tabelas
Instruções SQL para atualizar , incluir, excluir dados:
SELECT,INSERT,UPDATE, DELETE
ExecuteReader, ExecuteNonQuery
Aplicação Cadastro de Clientes MySQL
12 Arquivos PDF com conceitos sobre ADO .NET (Curso Rápido)
51a. Acesso ao banco de dados My SQL em Camadas (3
Vídeo Aulas) - 1 hora e 40 minutos
Apresentando ADO .NET - Conceitos básicos
DataSet, DataReader, DataAdapter, Command
MySQL Connector para plataforma .NET
MySqlConnection, MySqlCommand, Parameters
MySQL Administrator Conceitos, MySQL QueryBrowser
Criando banco de dados e Tabelas
Instruções SQL para atualizar , incluir, excluir dados:
SELECT,INSERT,UPDATE, DELETE
ExecuteReader, ExecuteNonQuery
Conceitos sobre arquitetura em Camadas
Separação das responsabilidades em camadas, baixo acoplamento
Camadas UI, BLL, DAL e DTO(transferências objetos)
Aplicação Cadastro de Produtos - CRUD básico
Arquivos PDF com a documentação do sistema e das vídeo aulas
52a.
Acesso ao banco de dados FireBird - 1 hora e 13 minutos
Apresentando o FireBird - Conceitos
Conector FireBird ADO .NET Data Provider
Ferramenta IBExpert para geranciar o FireBird
Criando
banco de dados e Tabelas
FbConnection, FbCommand, FbDataAdapter, FbDataReader
Aplicação Cadastro de Alunos - CRUD básico
SELECT,INSERT,UPDATE, DELETE com parâmetros
Projeto Completo com código fonte para estudo
53a.
Desenvolvendo uma aplicação Windows Forms RAD -
5 vídeo aulas - 2 horas e 15 minutos
Desenvolvendo uma aplicação com os
Assistentes do VIsual Studio
Banco de dados - Revisão de conceitos : linhas, colunas (registros, campos),
SGBDs, tabelas, Provedores para banco de dados, string de conexão
ADO .NET - Conceitos Básicos - DataSet, DataReader, DataAdapter, Connection
Chave Primária, Chave Estrangeira, Relacionamentos
Criando de banco de dados e tabelas SQL Server (campo identity)
SQL - Conceitos Básicos : DDL, DCL , DML - SELECT, INSERT, UPDATE E DELETE
Recursos de desenvolvimento RAD do Visual Studio
Aplicação RAD - Formulário Splash, Login e Formulário Principal
Usando os controles Windows Forms :TextBox, Label, Button, PictureBox,
ProgressBar , formulário MDI, TabPage, DataSet, DataGridView
Operações CRUD e Consultas usando RAD
Aplicação Cadastro de Alunos e Cursos
Projeto Completo para estudo
54a. CRUD Com DataSet Tipado no SQL Server via código
- 5 vídeo aulas - 2 horas e 50 minutos (2 camadas)
DataSet/DataAdapter - Conceitos básicos -
representação
namespace System.Data - DataSet, DataTable, DataColumn, DataRow
Adaptadores ADO .NET - OledbDataAdapter, SqlDataAdatper, MySQLDataAdapter,
etc
Lendo dados, Método Fill e comandos DataSet - merge, GetChanges,
AcceptChanges, HasChanges, RejectChanges
Aplicação Cadastro de Alunos CRUD básico e relatório
Criando o banco de dados e tabelas no SQL Server - SQL Server Management
Studio
Criando a aplicação Windows Forms no Visual Studio - Usando os controles
Windows Forms - Label, TextBox, Button, DataGridView
Criando uma camada de Acesso a Dados - DAL - a classe DAL
Definindo os métodos da classe DAL com ADO .NET
Definindo o código da camada de apresentação Windows Forms - Acessando a DAL
- Incluindo, Alterando, Excluindo e persistindo dados
Gerando o relatório da aplicação com PrintDocument
Projeto Completo com fontes para estudo
55a.
Vídeo Aula - DataGridView (57:00 min)
–O controle DataGridView I
Apresentando o DataGridView, Vinculando a fonte de dados diretamente ao
controle
Modos de Vinculação de dados; Usando o modo Bound - DataSet tipados
Filtrando dados no DataGridView; usando DataView e BindingSource
56a.
Vídeo Aula - DataGridView (56:00 min)
– O controle DataGridView II
Acessando um banco de dados e vinculando as informações ao DataGridView
Usando datasets não tipados;
Usando ADO .NET e comandos SQL para preencher o DataGridView
57a.
Vídeo Aula - DataGridView (57:00 min)
– O controle DataGridView III
Conceitos básicos : Acessando outras fontes de dados
Acessando arquivos XML,
arquivos Textos, Coleções Tipadas, Arrays de objetos
Alterando as propriedades do DataGridView via código.
58a.
Vídeo Aula - DataGridView (37:00 min)
–
O controle DataGridView IV
DataGridView – Paginação e impressão
Paginação de dados
Implementando a paginação de dados e impressão
59a.
Vídeo Aula - ListView
- (35:00 min)
– Controle ListView - 1
Controle ListView - recursos propriedades, métodos e eventos
Propriedades : View , Columns,Groups, Items, FullRowSelect, SelectedItem,
GridLines , HeaderStyle, Activation
Métodos: BeginUpdate, EndUpdate, ItemCheck, GetItemAt
Eventos: Click, ItemCheck, SelectedIndexChanged, TextChanged
Usando o ListView : configurando Cabeçalhos, Items, SubItens e Grupos
Usando o ListView com ImageList : LargeImageList, SmallImageList,
StateImageList
Atribuindo imagens aos itens do ListView
60a.
Vídeo Aula - ListView
- (34:00 min) –
Controle ListView - 2
Controle ListView - recursos propriedades, métodos e eventos
Criando colunas, itens e subitens via código
Incluindo itens, removendo itens, editando itens, localizando itens via
código
Usando as propriedades : HoverSelection, FocusedItem, FindItemWithText,
SelectedItems
61a. Vídeo Aula - ListView
- (23:00 min) –
Controle ListView - 3
Controle ListView - recursos propriedades, métodos e eventos
Acessando um banco de dados SQL Server e exibindo as informações no ListView
Definindo a configuração e fazendo o acesso no SQL Server
Definindo colunas, itens e subitens no ListView a partir da tabela do banco
de dados
62a. Vídeo Aula - TreeView - (13:00 min) –
Controle TreeView - 1
Controle TreeView - recursos propriedades, métodos e eventos
A classe TreeNode, criando Nós e sub nós usando o Editor Visual
63a.
Vídeo Aula - TreeView (30:00 min)
– Controle
TreeView - 2
Controle TreeView - recursos propriedades, métodos e eventos
SelectedNode - Selecionando um Nó, Nodes.Add() criando Nós via código
Métodos BeginUpdate/EndUpdate, Expandindo e Recolhendo os nós usando
ExpandAll/ColapseAll
Obtendo o caminho da hierarquia de nós com FullPath
64a.
Vídeo Aula - TreeView (20:00 min)
– Controle TreeView - 3
A classe TreeNode, criando Nós e sub nós usando via código
SelectedNode - Selecionando um Nó, Nodes.Add() criando nós dinamicamente
Removendo Nós com a propriedade Remove, Limpando nós com a propriedade Clear()
Criando uma instância do TreeView via código
Definindo imagens em um ImageList e exibindo com TreeView: ImageIndex e
SelectedImageIndex
65a.
Vídeo Aula - TreeView
(30:00 min)
– Controle TreeView - 4
Exibindo informações de um banco de dados no TreeView : Northwind.mdf
Usando a ADO .NET para acessar e obter informações das tabelas : DataSet,
DataView
Acessando tabelas do SQL Server e exibindo categorias e produtos no formato
hierárquico
Atribuindo imagens ao TreeView
66a.
Entity Framework - Manutenção de Dados
- 18:43 min
Vídeo Aula apresentando os conceitos básicos do Entity Framework
Criando o modelo de Entidades -
Trabahando com duas camadas
Projeto de estudo Vendas - Pedidos -
Clientes
Aplicação completa com código fonte para estudo
67a. Entity Framework - Manutenção
de Dados – II 41:00 min
Projeto de
estudo Vendas - Pedidos – Clientes
Implementando o projeto usando o Entity Framework
Aplicação completa com
código fonte para estudo
68a. Sistema
Pizzaria - Entity Framework em Camadas
(32:00 min)
Vídeo Aula apresentando a aplicação Sistema para Pizzaria
usando o Entity Framework
6 em um arquitetura em camadas e o padrão Repositório
Os fontes completos da aplicação, o banco de dados, os scripts SQL
Aplicação completa com código fonte para estudo
69a.
MultiThreading (20:00 min)
Conceitos : Processo , Thread, Multithreading
Criando um programa com uma single
Thread
Criando uma nova Thread usando a classe Thread
Iniciando uma nova thread : método Start
Projetos com código fonte
70a.
Criando Threads
(30:34 min)
Como criar Threads a partir da thread principal usando a classe Thread
Usando o método sobrecarregado que usa
o delegate ThreadStart
Usando o método sobrecarregado que usa
o delegate ParametrizedThreadStart
As diferentes sintaxes na criação de threads que não passam parâmetros
Projetos com código fonte
71a.
Threads : CurrentThread, Join, Sleep, IsAlive
(25:00 min)
Apresentando as propriedades CurrentThread e IsAlive
Apresentando os métodos Join e Sleep
Projetos com código fonte
72a.
Threads : Protegendo recursos compartilhados
(29:29 min)
Protegendo recursos compartilhados do acesso concorrente
Usando a classe Interlocked
Usando o método Lock
Comparação de desempenho entre Lock e
InterLocked
Projetos com código fonte
73a.
Threads : Usando a
classe Monitor (17:10 min)
Usando a classe Monitor para sincronizar o acesso aos objetos
As propriedades da Classe Monitor
Os métodos Monitor.Enter e Monitor.Exit;
Sintaxe
Projetos com código fonte
74a. Threads : DeadLocks
(16:39 min)
O que é um DeadLock
Cenário no qual ocorre um deadlock
Exemplo prático de ocorrência de
DeadLock
Resolvendo o DeadLock usando o método Monitor.TryEnter()
Projetos com código fonte
75a.
Programação Assincrona: async e await
(30:46 min)
Programação Síncrona e Assíncrona: conceitos
A nova abrodagem da programação
assíncrona: Tasks, async e await
Definindo Task, Task<T>, async e await
Exemplos de utilização com código fonte
Os novos
recursos do C# 6.0 – 10 Vídeo Aulas ( aprox. 45 min )
76-Apresentação e Histórico – (6:08 min)
77-Auto-property Initializer – (2:20 min)
78-Getter-only Auto-Properties – (2:55 min)
79-Expression Bodied Methods e Using Static – (6:57 min)
80-Null-conditional operator – (5:11 min)
81-String Interpolation – (6:03 min)
82-nameof Expression – (3:10 min)
82-Index Initializer – (4:30 min)
84-Exception Filters – (6:02 min)
85-Await in catch block – (3:42 min)
- Projeto Exemplo usado nas aulas
- Mini-Curso sobre ADO .NET (PDF)
Definição - Provedores ADO
.NET - DataSet , DataReader, DataTable e DataView
Namespaces - Objeto Connection -
String de Conexão
Objeto Command - ExecuteReader ,
ExecuteNonQuery e ExecuteScalar - Consultar Dados - Instrução SQL - Select -
Atualizar Dados
Instrução SQL - Update - Excluir Dados - Instrução SQL - Delete - Incluir
Dados - Instrução SQL - Insert Into
DataReader - Características e
Propriedades - Exemplo prático
DataSet - Características e
Propriedades - Exemplo prático -
DataSet Tipados - Características e
Propriedades - Exemplo prático
ADO .NET boas práticas
- 7 Listas de Exercícios teóricos e práticos sobre a linguagem
C# Resolvidos |