Índice:
Vídeo: How To Create Multilevel Numbering In Word (That Actually Works) 2024
Por Bill Sempf, Chuck Sphar, Stephen R. Davis
Se houver algum problema com o. NET Framework a partir do ponto de vista do C # Programmer, é apenas que há muitas coisas boas. Muitas aulas têm tantas propriedades e eventos que é difícil lembrar quais são as coisas mais usadas. Aqui está o creme da safra nas classes Coleção, Conhecimento e Asíncrono, todos juntos para facilitar a consulta.
Mantendo coisas em C # Collection Classes
Muitas variáveis são para armazenar uma coisa, como um número ou uma frase. Um objeto pode ter muitas propriedades, armazenando muitas informações sobre um único conceito. Às vezes, porém, você só precisa acompanhar uma grande lista de coisas. É aí que as classes de cobrança entram.
As classes de coleção em C # são incríveis porque podem ajudá-lo a manter uma lista de itens, um grupo de chaves e valores, e fornecer ferramentas de busca, gerenciamento e manutenção geral gratuitamente. Isso é muito mais fácil do que escrever o método do centésimo de "classificar os clientes pelo ultimo nome" este mês.
C # possui classes básicas de coleta, classes genéricas de coleta e aulas de coleta concorrentes. Esses últimos são para operações seguras de thread em um ambiente multiprocessador. Todas essas classes de coleta são úteis se você sabe onde e quando usá-las.
coleções regulares
Coleções regulares armazenam coisas não tipificadas para você. Se você não sabe exatamente o que você vai armazenar, coleções regulares são para você. A maioria das coisas nessas classes são armazenadas como Objeto.
Classe | Descrição |
---|---|
ArrayList | Esta é apenas uma coleção direta de objetos cujo tamanho
é inicialmente declarado e esse tamanho é aumentado conforme necessário (mas não diminuiu). |
HashTable | Apenas uma tabela de duas colunas de chaves e valores, onde os pares estão
ligados para classificar uma recuperação. |
Fila | Uma primeira lista de itens pendentes (FIFO). Ótimo para armazenar
coisas do processo do programa. |
Stack | Como uma fila, mas Last In First Out (LIFO). |
Coleções genéricas
C # 2. 0 introduziu coleções genéricas. As coleções genéricas permitem armazenar coleções de itens digitadas, conforme declarado em tempo de execução.
Classe | Descrição |
---|---|
Dicionário | Apenas um HastTable, exceto digitado, portanto, você não precisa
armazenar Objeto, Objeto. TKey e TValue são tipos, para que você possa armazenar uma lista se você quiser. |
Lista | Esta é a nova matriz. É uma lista de itens digitada. Em , a classe de coleta mais comum utilizada. É o padrão.
Se você precisa de uma lista de pessoas, é uma Lista. |
Fila | Semelhante à fila não digitada, mas, bem, digitado! |
SortedList | Este incrível dicionário implementa IComparable para que ele possa
ser classificado. |
Stack | Assim como a pilha não digitada, exceto digitado. |
Clases de coleta simultâneas
Finalmente, as classes concorrentes garantem que os objetos que você armazena em uma lista estão disponíveis em qualquer espaço de memória, independentemente do processador. É um acordo maior do que você pensa.
Classe | Descrição |
---|---|
BlockingCollection | É uma classe thread-safe que impedirá que um segmento
altere um campo acessível por outro thread. coisas brilhantes, na verdade. |
ConcurrentDictionary |
Falando em brilhante, este conjunto de pares de chaves / valores pode ser
acessado por múltiplos segmentos. |
ConcorrenteQueue | Lembra-se da pilha FIFO? Sim. Este é genérico AND thread
seguro. |
ConcorrentStack | As coleções orquestradas são úteis. Eles são
benéficos para a memória, por um lado. De qualquer forma, este é LIFO e thread-safe, também. |
Configurando C #
Um espaço de nomes inteiro de classes foi projetado para configurar aplicativos escritos em qualquer um. Linguagem NET, como C #, VB. NET, ou qualquer um de vários outros. Os objetos dentro dele são, pelo menos, um pouco difíceis de navegar. A configuração em aplicativos. NET ocorre em um. arquivo de configuração. Este arquivo formatado em XML tem um nó e uma série de nós específicos do projeto dentro. Obter uma referência à configuração requer uma chamada para OpenExeConfiguration.
Sistema. Configuração. Configuração config = ConfigurationManager. OpenExeConfiguration ();
Quando isso for feito, obter uma referência a uma seção é bastante direto. O método GetSection apenas leva uma string que é o nome do nó, e porque o arquivo de configuração é apenas texto, você pode agarrá-lo a qualquer momento.
var sectionName = & ldquo; Tanto faz! & rdquo;; Sistema. Configuração. Secção AppSettingsSection = (System. Configuration. AppSettingsSection) config. GetSection (sectionName);
Você pode adicionar seções ao arquivo de configuração usando as ferramentas de manipulação XML na estrutura. Você pode usar um grupo predefinido em seções para a funcionalidade correspondente.
Seção | Descrição |
---|---|
Inicialização | Descreve o. Versão NET para usar. |
Tempo de execução | Lista o. Elementos NET para vincular ao executável. |
Rede | Descreve o proxy e outras configurações de rede. |
Criptografia | Um lugar para manter valores acessíveis referenciando recursos criptográficos |
Configuração | A seção mais usada. É onde você guarda seções personalizadas do arquivo de configuração. |
Trace / Debug | Duas configurações que permitem configurar o rastreamento e o registro. |
Configurações do aplicativo (appsettings) | Aplicação de elementos dimensionados como strings de conexão de banco de dados. |
Configurações da Web (websettings) | ASP. Detalhes específicos da NET. |
Programação assíncrona
Um monte de Windows 8 é sobre ser rápido e fluido. A maneira de fazer isso é usando métodos assíncronos em callbacks de funcionalidades de longa execução.O problema com isso é que em C #, a melhor maneira de implementar um método assíncrono é com o threading. Mas você nem sempre pode depender de quando os itens de uma operação de encadeamento voltarão. É necessário que haja algum controle se desejar que os usuários possam sentir como se houver algum controle.
Digite async e aguarde. Async é usado para declarar uma função assíncrona, que retorna uma Tarefa. Todos os métodos assíncronos devem conter pelo menos uma expressão aguardar. aguarde que diga C # para tomar o código encaminhado e executá-lo em um fio separado do que o segmento do usuário. A tabela divide as novas partes assíncronas do idioma.
Statement | Descrição |
---|---|
async | Um modificador que mostra o compilador que a função
modifica é assíncrona. |
aguardam | Um operador que suspende a execução do método contendo
até que a tarefa aguardada seja concluída. |
Tarefa | Representa uma operação assíncrona. |
Tarefa | Uma operação assíncrona que retorna um valor. |
Tarefa. Continue com | Uma continuação que é iniciada após a operação na Tarefa
é concluída. |