<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivo para Programação com C# - Bóson Treinamentos em Ciência e Tecnologia</title>
	<atom:link href="https://www.bosontreinamentos.com.br/category/csharp/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bosontreinamentos.com.br/category/csharp/</link>
	<description>Artigos e Tutoriais sobre Desenvolvimento de Software, Bancos de Dados SQL, Linux, Lógica de Programação, Inteligência Artificial, Hardware, Eletrônica, Arduino, Técnicas e Teorias de Estudo e Aprendizagem, Carreira em TI, Ciências Cognitivas, e muito mais!</description>
	<lastBuildDate>Thu, 12 May 2022 14:41:56 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
	<item>
		<title>Erro O nome do tipo &#8220;SqlConnection&#8221; não pode ser encontrado no namespace &#8220;System.Data.SqlClient&#8221; (Resolvido) &#8211; Visual Studio</title>
		<link>https://www.bosontreinamentos.com.br/csharp/erro-o-nome-do-tipo-sqlconnection-nao-pode-ser-encontrado-no-namespace-system-data-sqlclient-resolvido-visual-studio/</link>
					<comments>https://www.bosontreinamentos.com.br/csharp/erro-o-nome-do-tipo-sqlconnection-nao-pode-ser-encontrado-no-namespace-system-data-sqlclient-resolvido-visual-studio/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Thu, 12 May 2022 14:37:37 +0000</pubDate>
				<category><![CDATA[Programação com C#]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=18193</guid>

					<description><![CDATA[<p>Erro O nome do tipo &#8220;SqlConnection&#8221; não pode ser encontrado no namespace &#8220;System.Data.SqlClient&#8221; Neste tutorial veremos como solucionar o erro &#8220;&#8221;SqlConnection&#8221; não pode ser encontrado no namespace &#8220;System.Data.SqlClient&#8220;&#8221; em uma aplicação C# escrita no Microsoft Visual Studio. Problema Durante uma aula de programação com C#, ao tentar criar uma aplicação com GUI usando o Microsoft Visual Studio 19 e o .NET 5.0, os alunos se depararam com o erro a seguir ao codificar a aplicação: Os objetos SqlConnection, SqlCommand e SqlDataReader não eram reconhecidos mesmo após a inclusão do namespace System.Data.SqlClient na seção de diretivas &#8220;using&#8220; do programa. Ao tentar executar o código, as seguintes mensagens de erro eram mostradas na saída: Por que esse erro ocorre O que causa desse erro é o fato do namespace System.Data.SqlClient não ter sido referenciado pelo projeto por padrão, conforme deveria ser feito pelo .NET Framework. Assim, para corrigir esse problema, será necessário adicionar o pacote manualmente ao projeto. Como resolver o problema Solução: instalar o pacote System.Data.SqlClient no NuGet para que o projeto possa utilizá-lo. Siga os passos abaixo para realizar essa tarefa. Clique com o botão direito do mouse no nome da solução no painel de soluções do Visual Studio. No menu [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/csharp/erro-o-nome-do-tipo-sqlconnection-nao-pode-ser-encontrado-no-namespace-system-data-sqlclient-resolvido-visual-studio/">Erro O nome do tipo &#8220;SqlConnection&#8221; não pode ser encontrado no namespace &#8220;System.Data.SqlClient&#8221; (Resolvido) &#8211; Visual Studio</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Erro O nome do tipo &#8220;SqlConnection&#8221; não pode ser encontrado no namespace &#8220;System.Data.SqlClient&#8221;</h2>
<p>Neste tutorial veremos como solucionar o erro &#8220;&#8221;<strong><em>SqlConnection&#8221; não pode ser encontrado no namespace &#8220;System.Data.SqlClient</em></strong>&#8220;&#8221; em uma aplicação C# escrita no Microsoft Visual Studio.</p>
<h2>Problema</h2>
<p>Durante uma aula de programação com C#, ao tentar criar uma aplicação com GUI usando o Microsoft Visual Studio 19 e o .NET 5.0, os alunos se depararam com o erro a seguir ao codificar a aplicação:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-18197 size-full" title="Erro System.Data.SqlClient no Visual Studio em C#" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2022/05/erro-sql-01.jpg" alt="Erro System.Data.SqlClient no Visual Studio em C#" width="697" height="468" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2022/05/erro-sql-01.jpg 697w, https://www.bosontreinamentos.com.br/wp-content/uploads/2022/05/erro-sql-01-420x282.jpg 420w" sizes="auto, (max-width: 697px) 100vw, 697px" /></p>
<p>Os objetos <strong>SqlConnection</strong>, <strong>SqlCommand</strong> e <strong>SqlDataReader</strong> não eram reconhecidos mesmo após a inclusão do namespace <strong>System.Data.SqlClient</strong> na seção de <a href="http://www.bosontreinamentos.com.br/csharp/programacao-em-c-namespaces-assemblies-e-a-diretiva-using-03/">diretivas &#8220;<em>using</em>&#8220;</a> do programa.</p>
<p>Ao tentar executar o código, as seguintes mensagens de erro eram mostradas na saída:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-18198" title="Erro conexão SQL Server Visual Studio" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2022/05/erro-sql-02.jpg" alt="Erro conexão SQL Server Visual Studio" width="701" height="234" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2022/05/erro-sql-02.jpg 1019w, https://www.bosontreinamentos.com.br/wp-content/uploads/2022/05/erro-sql-02-420x140.jpg 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2022/05/erro-sql-02-768x256.jpg 768w" sizes="auto, (max-width: 701px) 100vw, 701px" /></p>
<h3>Por que esse erro ocorre</h3>
<p>O que causa desse erro é o fato do namespace <strong>System.Data.SqlClient</strong> não ter sido referenciado pelo projeto por padrão, conforme deveria ser feito pelo .NET Framework. Assim, para corrigir esse problema, será necessário adicionar o pacote manualmente ao projeto.</p>
<h3>Como resolver o problema</h3>
<p>Solução: instalar o pacote System.Data.SqlClient no NuGet para que o projeto possa utilizá-lo. Siga os passos abaixo para realizar essa tarefa.</p>
<ol>
<li>Clique com o botão direito do mouse no nome da solução no painel de soluções do Visual Studio.</li>
<li>No menu de contexto, selecione Gerenciar Pacotes NuGet para a Solução&#8230;</li>
<li>Na janela Gerenciador de Pacotes NuGet, clique na guia Procurar.</li>
<li>Na caixa de pesquisa digite System.Data.SqlClient e pressione Enter.</li>
<li>Procure o pacote System.Data.SqlClient da Microsoft e o selecione.
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-18199" title="Erro System.Data.SqlClient no Visual Studio" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2022/05/erro-sql-03.jpg" alt="Erro System.Data.SqlClient no Visual Studio" width="700" height="243" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2022/05/erro-sql-03.jpg 729w, https://www.bosontreinamentos.com.br/wp-content/uploads/2022/05/erro-sql-03-420x146.jpg 420w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
</li>
<li>Um pequeno painel será aberto no lado direito da janela. Selecione a versão do pacote a instalar (geralmente a mais recente funcionará) e pressione o botão de instalação. Aguarde a conclusão da instalação. O NuGet irá instalar o pacote selecionado e todas as suas dependências.</li>
<li>Após o término da instalação do System.Data.SqlClient retorne ao seu projeto e tente executá-lo novamente. Se tudo correu bem, você não verá o erro ocorrendo outra vez.</li>
</ol>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-18200 size-full" title="Erro System.Data.SqlClient no Visual Studio resolvido" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2022/05/erro-sql-04.jpg" alt="Erro System.Data.SqlClient no Visual Studio resolvido" width="692" height="284" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2022/05/erro-sql-04.jpg 692w, https://www.bosontreinamentos.com.br/wp-content/uploads/2022/05/erro-sql-04-420x172.jpg 420w" sizes="auto, (max-width: 692px) 100vw, 692px" /></p>
<p><em><strong>Problema solucionado!</strong></em></p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/csharp/erro-o-nome-do-tipo-sqlconnection-nao-pode-ser-encontrado-no-namespace-system-data-sqlclient-resolvido-visual-studio/">Erro O nome do tipo &#8220;SqlConnection&#8221; não pode ser encontrado no namespace &#8220;System.Data.SqlClient&#8221; (Resolvido) &#8211; Visual Studio</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/csharp/erro-o-nome-do-tipo-sqlconnection-nao-pode-ser-encontrado-no-namespace-system-data-sqlclient-resolvido-visual-studio/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Listas em C# &#8211; A classe genérica List</title>
		<link>https://www.bosontreinamentos.com.br/csharp/listas-em-c-a-classe-generica-list/</link>
					<comments>https://www.bosontreinamentos.com.br/csharp/listas-em-c-a-classe-generica-list/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 13 Mar 2020 12:10:31 +0000</pubDate>
				<category><![CDATA[Programação com C#]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=16545</guid>

					<description><![CDATA[<p>Listas em C# Uma lista em C# é um objeto que armazena dados de um determinado tipo em uma ordem específica. Representa uma lista fortemente tipada de objetos que podem ser acessados por meio de um número de índice. O tipo de dado que a lista armazena é definido usando a sintaxe de genéricos. Por exemplo, vamos definir uma lista genérica de nome valores que irá armazenar números inteiros: List&#60;int&#62; valores = new List&#60;int&#62;(); As listas em C# fazem parte do namespace System.Collection.Generic. Diferença entre lista e array em C# A diferença entre listas e arrays é a de que as listas possuem tamanho dinâmico (ajustável), ao passo que os arrays possuem tamanho fixo. Por conta disso, as listas são indicadas para quando não sabemos de antemão a quantidade de dados que serão armazenados. Uma lista armazena itens de um tipo especificado e cresce automaticamente quando novos itens (do mesmo tipo) são adicionados. As listas são ideais para o armazenamento e recuperação de grandes números de elementos, como retornos de consultas a bancos de dados, por exemplo.&#160;Sua capacidade máxima em um sistema de 64 bits é de 2 bilhões de elementos. A capacidade de uma lista pode ser acessada ou [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/csharp/listas-em-c-a-classe-generica-list/">Listas em C# &#8211; A classe genérica List&lt;T&gt;</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Listas em C#</h2>
<p>Uma lista em C# é um objeto que armazena dados de um determinado tipo em uma ordem específica. Representa uma lista fortemente tipada de objetos que podem ser acessados por meio de um número de índice. O tipo de dado que a lista armazena é definido usando a sintaxe de genéricos. Por exemplo, vamos definir uma lista genérica de nome <em>valores</em> que irá armazenar números inteiros:</p>
<pre><strong>List&lt;int&gt; valores = new List&lt;int&gt;();</strong></pre>
<p>As listas em C# fazem parte do namespace <em>System.Collection.Generic</em>.</p>
<h3>Diferença entre lista e array em C#</h3>
<p>A diferença entre listas e arrays é a de que as listas possuem tamanho dinâmico (ajustável), ao passo que os arrays possuem tamanho fixo. Por conta disso, as listas são indicadas para quando não sabemos de antemão a quantidade de dados que serão armazenados. Uma lista armazena itens de um tipo especificado e cresce automaticamente quando novos itens (do mesmo tipo) são adicionados.</p>
<p>As listas são ideais para o armazenamento e recuperação de grandes números de elementos, como retornos de consultas a bancos de dados, por exemplo.&nbsp;Sua capacidade máxima em um sistema de 64 bits é de 2 bilhões de elementos. A capacidade de uma lista pode ser acessada ou ajustada por meio da propriedade Capacity.</p>
<p>Vamos estudar algumas operações que podem ser realizadas em listas em C#, usando Windows Forms e o Visual Studio para codificar nossos testes.</p>
<h3>Propriedades e métodos da classe List&lt;T&gt;</h3>
<p>A seguir temos algumas das principais propriedades e métodos da classe List&lt;T&gt; em C#:</p>
<h4>Propriedades</h4>
<ul>
<li><strong>Items</strong> &#8211; Obtém ou grava o elemento na posição de índice especificada</li>
<li><strong>Count</strong> &#8211; Retorna o número total de elementos que existem na lista.</li>
</ul>
<h4>Métodos</h4>
<ul>
<li><strong>Add</strong> &#8211; Adiciona um elemento ao final da lista</li>
<li><strong>AddRange</strong> &#8211; Adiciona elementos de uma coleção especificada ao final da lista</li>
<li><strong>Clear</strong> &#8211; Remove todos os elementos de uma lista</li>
<li><strong>Contains</strong> &#8211; Verifica se um elemento especificado existe ou não em uma lista</li>
<li><strong>Insert</strong> &#8211; Insere um elemento em uma posição (índice) especificada na lista</li>
<li><strong>Remove</strong> &#8211; Remove a primeira ocorrência de um elemento especificado</li>
<li><strong>RemoveAt</strong> &#8211; Remove o elemento em uma posição especificada na lista</li>
<li><strong>Sort</strong> &#8211; Ordena os elementos da lista&nbsp;</li>
</ul>
<h3>Inserir items em uma lista</h3>
<p>Após inicializar uma lista, podemos inserir valores invocando o método <strong>Add()</strong>:</p>
<pre><strong>List&lt;int&gt; valores = new List&lt;int&gt;();</strong>
<strong>valores.Add(16);</strong>
<strong>valores.Add(18);</strong>
<strong>valores.Add(23);</strong>
<strong>valores.Add(12);</strong></pre>
<p>Alternativamente, podemos inserir um array de itens de uma só vez usando o método <strong>AddRange()</strong>:</p>
<pre><strong>List&lt;int&gt; valores = new List&lt;int&gt;();</strong>
<strong>int[] numeros = new int[] {16, 18, 23, 12};</strong>
<strong>valores.AddRange(numeros);</strong></pre>
<h3>Contar os elementos da lista</h3>
<p>Com o método <strong>Count</strong> podemos determinar quantos elementos uma lista possui:</p>
<pre><strong>List&lt;int&gt; valores = new List&lt;int&gt;();</strong>
<strong>int[] numeros = new int[] { 16, 18, 23, 12 };</strong>
<strong>valores.AddRange(numeros);</strong>
<strong>MessageBox.Show("A lista tem " + valores.Count() + " itens.");</strong></pre>
<h3>Acessar um elemento na lista</h3>
<p>Podemos acessar um elemento em uma lista genérica usando seu número de índice, que inicia em 0 (zero). Por exemplo, para acessar o primeiro elemento da lista do exemplo anterior podemos adicionar a seguinte linha de código:</p>
<pre><strong>MessageBox.Show("Primeiro item da lista: " + valores[0]);</strong></pre>
<p>Perceba a notação de colchetes usada para especificar o elemento 0 da lista: <span style="color: #800080;"><strong>[0]</strong></span>.</p>
<h3>Remover itens de uma lista em C#</h3>
<p>Usamos os métodos <strong>Remove</strong> e <strong>RemoveAt</strong> para remover itens de uma lista. O método Remove remove a primeira ocorrência do item especificado, ao passo que o método RemoveAt remove o item em uma posição de índice desejada.<br />
Vamos aos exemplos.</p>
<p>1 &#8211; Remover a primeira ocorrência de um item. Vamos remover a primeira ocorrência do valor 18 em uma lista na qual esse valor aparece armazenado em duas posições distintas:</p>
<pre><strong>List&lt;int&gt; valores = new List&lt;int&gt;();</strong>
<strong>int[] numeros = new int[] { 16, 18, 23, 12, 22, 11, 18 };</strong>
<strong>valores.AddRange(numeros);</strong>
<strong>string strValores = String.Empty;

</strong><strong>foreach (int item in valores)</strong>
<strong>{</strong>
<strong>  strValores += "\n" + item.ToString();</strong>
<strong>}

</strong><strong>MessageBox.Show("Lista de valores: " + strValores);

</strong><strong>valores.Remove(18); <span style="color: #339966;">// Remove a primeira ocorrência do valor 18

</span></strong><strong>strValores = String.Empty;</strong>
<strong>foreach (int item in valores)</strong>
<strong>{</strong>
<strong>  strValores += "\n" + item.ToString();</strong>
<strong>}

</strong><strong>MessageBox.Show("Lista de valores: " + strValores);</strong></pre>
<p>2 &#8211; Agora vamos remover o quarto item da lista (índice 3).</p>
<pre><strong>List&lt;int&gt; valores = new List&lt;int&gt;();</strong>
<strong>int[] numeros = new int[] { 16, 18, 23, 12, 22, 11, 18 };</strong>
<strong>valores.AddRange(numeros);</strong>
<strong>string strValores = String.Empty;

</strong><strong>foreach (int item in valores)</strong>
<strong>{</strong>
<strong>strValores += "\n" + item.ToString();</strong>
<strong>}

</strong><strong>MessageBox.Show("Lista de valores: " + strValores);

</strong><strong>valores.RemoveAt(3); <span style="color: #339966;">// Remove o item no índice 3 (quarto item)</span>
</strong><strong>strValores = String.Empty;</strong>
<strong>foreach (int item in valores)</strong>
<strong>{</strong>
<strong>strValores += "\n" + item.ToString();</strong>
<strong>}</strong>
<strong>MessageBox.Show("Lista de valores: " + strValores);</strong></pre>
<p>Note que o valor <strong>12</strong>, que é o quarto valor em nossa lista inicial, foi eliminado.</p>
<h3>Inserir itens em uma lista em posição específica</h3>
<p>Podemos inserir um elemento em uma lista em uma posição especificada usando o método Insert. Sua sintaxe é como segue:</p>
<pre><span style="color: #800080;"><strong>Lista.Insert(Índice, Valor);</strong></span></pre>
<p>Esse método aceita dois argumentos:</p>
<ul>
<li><strong>Índice</strong> &#8211; Posição na qual o item será inserido</li>
<li><strong>Valor</strong> &#8211; Valor do item a ser inserido na lista</li>
</ul>
<p>Vejamos um exemplo. Vamos inserir o valor <strong>13</strong> na posição #2 (índice 1) de uma lista que já continha valores armazenados:</p>
<pre><strong>List&lt;int&gt; valores = new List&lt;int&gt;();</strong>
<strong>int[] numeros = new int[] { 16, 18, 23, 12 };</strong>
<strong>valores.AddRange(numeros);

</strong><strong>MessageBox.Show("Segundo item da lista: " + valores[1]);

</strong><strong>valores.Insert(1, 13); <span style="color: #339966;">// Inserimos o valor 13 na segunda posição da lista</span></strong>
<strong>MessageBox.Show("Segundo item da lista: " + valores[1]);</strong></pre>
<h3>Iterar pelos itens de uma lista</h3>
<p>Podemos iterar pelos itens em uma lista genérica usando um laço foreach. Veja no exemplo a seguir, codificado em um botão usando Windows Forms no Visual Studio:</p>
<pre><strong>List&lt;int&gt; valores = new List&lt;int&gt;();

</strong><strong>valores.Add(16);</strong>
<strong>valores.Add(18);</strong>
<strong>valores.Add(23);</strong>
<strong>valores.Add(12);

</strong><strong>string strValores = String.Empty;

</strong><strong>foreach(int item in valores)</strong>
<strong>{</strong>
<strong>  strValores += "\n" + item.ToString();</strong>
<strong>}

</strong><strong>MessageBox.Show("Lista de valores: " + strValores);</strong></pre>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-16550 size-full" title="Iteração pelos elementos de uma lista em C#" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/03/iterar-lista-c-sharp.jpg" alt="Iteração pelos elementos de uma lista em C#" width="302" height="211" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2020/03/iterar-lista-c-sharp.jpg 302w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/03/iterar-lista-c-sharp-300x211.jpg 300w" sizes="auto, (max-width: 302px) 100vw, 302px" /></p>
<h3>Procurar um item em uma lista genérica</h3>
<p>Com o método <strong>Contains</strong> podemos descobrir se um valor especificado existe em uma lista, o seja, se esse item está armazenado na lista. Ele retorna o booleano <em><strong>true</strong></em> se o valor for encontrado, e <em><strong>false</strong></em> se não for encontrado na lista. Por exemplo, queremos saber se o valor 16 está presente em uma lista:</p>
<pre><strong>List&lt;int&gt; valores = new List&lt;int&gt;();</strong>
<strong>int[] numeros = new int[] { 16, 18, 23, 12, 22, 11, 18 };</strong>
<strong>valores.AddRange(numeros);</strong>
<strong>string strValores = String.Empty;

</strong><strong>int valorProcurado = 16;</strong>
<strong>bool valorExiste;

</strong><strong>valorExiste = valores.Contains(valorProcurado);

</strong><strong>if (valorExiste)</strong>
<strong>{</strong>
<strong>  MessageBox.Show("O item foi encontrado na lista");</strong>
<strong>}</strong>
<strong>else</strong>
<strong>{</strong>
<strong>  MessageBox.Show("Item inexistente na lista");</strong>
<strong>}</strong></pre>
<p>O método Contains da lista valores retorna <strong><em>true</em></strong> neste exemplo, pois o valor 16 está presente na lista genérica.</p>
<h3>Preencher um ListBox com itens de uma lista</h3>
<p>Suponha um controle ListBox de nome lstList, o qual queremos preencher com os elementos armazenados em uma lista genérica.</p>
<pre><strong>List&lt;string&gt; lugares = new List&lt;string&gt;();

</strong><strong>lugares.Add("Fortaleza");</strong>
<strong>lugares.Add("Buenos Aires");</strong>
<strong>lugares.Add("Cairo");</strong>
<strong>lugares.Add("Sydney");</strong>
<strong>lugares.Add("Lima");</strong>
<strong>lugares.Add("Toronto");

</strong><strong>foreach (string item in lugares)</strong>
<strong>{</strong>
<strong>  lstLista.Items.Add(item);</strong>
<strong>}


</strong></pre>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-16552 size-full" title="Preencher um ListBox com uma lista genérica em C#" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/03/preencher-listbox-classe-list.jpg" alt="Preencher um ListBox com uma lista genérica em C#" width="381" height="174"></p>
<p>A caixa de listagem também pode ser preenchida usando-se o método <strong>ToArray</strong> da lista, em vez de usar um laço <strong>foreach</strong>, para passar seus elementos de uma vez à ListBox:</p>
<pre><strong>lstLista.Items.AddRange(lugares.ToArray());</strong></pre>
<h3>Classificar Listas</h3>
<p>Podemos classificar (ordenar) uma lista em C# empregando o método Sort(). Por exemplo, para ordenar a lista de valores usada nos exemplos anteriores, basta executarmos:</p>
<pre><strong>valores.Sort();</strong></pre>
<p>E os itens dentro desta lista estarão ordenados, em ordem numérica crescente.</p>
<p>É isso aí! Nos próximos tutoriais vamos abordar outras estruturas de armazenamento em C#, tais como Filas e Pilhas. Até!</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/csharp/listas-em-c-a-classe-generica-list/">Listas em C# &#8211; A classe genérica List&lt;T&gt;</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/csharp/listas-em-c-a-classe-generica-list/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Números Complexos em C# &#8211; Introdução</title>
		<link>https://www.bosontreinamentos.com.br/csharp/numeros-complexos-em-c-introducao/</link>
					<comments>https://www.bosontreinamentos.com.br/csharp/numeros-complexos-em-c-introducao/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Mon, 10 Feb 2020 14:27:55 +0000</pubDate>
				<category><![CDATA[Programação com C#]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Matemática]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=16334</guid>

					<description><![CDATA[<p>Números Complexos em C# Neste artigo vamos mostrar como criar e efetuar operações aritméticas básicas com Números Complexos em C#. O Namespace System.Numerics O namespace System.Numerics contém diversos tipos numéricos usados para complementar os tipos primitivos, como Int32 e Double, definidos no framework .NET. Dentre as estruturas implementadas pelo namespace System.Numerics podemos citar: Plane (plano no espaço tridimensional), Vector2 (vetor com dois valores), Matrix4x4 (Matriz 4&#215;4) e Complex (números complexos &#8211; objeto deste artigo), entre outras. A Estrutura Complex A estrutura Complex, do namespace System.Numerics, permite representar números complexos e realizar diversas operações com esses números. Vamos começar mostrando como criar uma instância de um número complexo em C#. Como criar uma instância de um número complexo Para criar uma instância de um número complexo em C# devemos passar dois valores do tipo Double para o construtor. O primeiro valor representa a parte real do número complexo, e o segundo valor representa a parte imaginária. Exemplo: Vamos criar o número complexo 2+5i em C#: Complex c1 = new Complex(2,5); // Mostrar o valor do número complexo (forma padrão C#): Console.WriteLine(c1); Propriedades de Complex Podemos exibir as partes real e imaginária de um número complexo com as respectivas propriedades real e [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/csharp/numeros-complexos-em-c-introducao/">Números Complexos em C# &#8211; Introdução</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Números Complexos em C#</h2>
<p>Neste artigo vamos mostrar como criar e efetuar <a href="http://www.bosontreinamentos.com.br/matematica/operacoes-basicas-com-numeros-complexos/">operações aritméticas básicas</a> com <a href="http://www.bosontreinamentos.com.br/matematica/introducao-aos-numeros-complexos/">Números Complexos</a> em C#.</p>
<h3>O Namespace System.Numerics</h3>
<p>O <a href="https://docs.microsoft.com/pt-br/dotnet/api/system.numerics?view=netframework-4.8" target="_blank" rel="noopener">namespace System.Numerics</a> contém diversos tipos numéricos usados para complementar os tipos primitivos, como Int32 e Double, definidos no framework .NET.</p>
<p>Dentre as estruturas implementadas pelo namespace System.Numerics podemos citar: <strong>Plane</strong> (plano no espaço tridimensional), <strong>Vector2</strong> (vetor com dois valores), <strong>Matrix4x4</strong> (Matriz 4&#215;4) e <strong>Complex</strong> (números complexos &#8211; objeto deste artigo), entre outras.</p>
<h3>A Estrutura Complex</h3>
<p>A estrutura Complex, do namespace System.Numerics, permite representar números complexos e realizar diversas operações com esses números. Vamos começar mostrando como criar uma instância de um número complexo em C#.</p>
<h3>Como criar uma instância de um número complexo</h3>
<p>Para criar uma instância de um número complexo em C# devemos passar dois valores do tipo <em>Double</em> para o construtor. O primeiro valor representa a parte real do número complexo, e o segundo valor representa a parte imaginária.</p>
<p><strong>Exemplo</strong>: Vamos criar o número complexo <strong>2+5i</strong> em C#:</p>
<pre><strong>Complex c1 = new Complex(2,5);</strong>
<span style="color: #339966;"><strong>// Mostrar o valor do número complexo (forma padrão C#):</strong></span>
<strong>Console.WriteLine(c1);</strong></pre>
<h3><img loading="lazy" decoding="async" class="aligncenter wp-image-16382 size-full" title="Números complexos em C#" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/02/numero-complexo-c-sharp.png" alt="Números complexos em C#" width="76" height="25"></h3>
<h3>Propriedades de Complex</h3>
<p>Podemos exibir as partes real e imaginária de um número complexo com as respectivas propriedades <em>real</em> e <em>imaginary</em> de um objeto Complex:</p>
<pre><strong>Console.WriteLine("Parte real: " + c1.Real) ;</strong>
<strong>Console.WriteLine("Parte imaginária: " + c1.Imaginary);</strong></pre>
<p>Obs.: As propriedades Real e Imaginary são somente-leitura, de modo que não é possível modificar os valores de um objeto Complex já criado. Os métodos que executam operações em objetos Complex retornam um novo número complexo, caso o tipo de retorno seja Complex também.</p>
<p>É possível exibir o número complexo no formato matemático <em><strong>a + bi</strong></em> aplicando formatação com o método <em>Format</em> da classe <em>String</em>, como segue:</p>
<pre><strong><span style="color: #339966;">// Exibir o número no formato a+bi:</span></strong>
<strong>Console.WriteLine(String.Format("{0} + {1}i", c1.Real, c1.Imaginary));</strong></pre>
<h3>Operações com números complexos em C#</h3>
<p>A estrutura Complex possui operadores que permitem realizar diversas operações aritméticas com números complexos, tais como adição, subtração, multiplicação, divisão e negação. Além disso, inclui métodos para executar outras operações numéricas, como exponenciação, raiz quadrada e valor absoluto de um número complexo, além de operações trigonométricas.</p>
<p><strong>Exemplo</strong>: Vamos criar e somar dois números complexos. Para isso usaremos a operação <em><strong>Add(num1,num2)</strong></em>, onde:</p>
<ul>
<li>num1 = primeiro número complexo a adicionar</li>
<li>num2 = segundo número complexo a adicionar</li>
</ul>
<p>A adição de números complexos é realizada adicionando-se cada parte separadamente, de acordo com a fórmula:</p>
<pre><span style="font-size: 18pt; color: #ff6600;"><strong>(a+bi) + (c+di) = (a+c) + (b+d)i</strong></span></pre>
<p>Esta operação em C# retorna um valor do tipo Complex. Vejamos um exemplo:</p>
<pre><strong>Complex c1 = new Complex(2,5);</strong>
<strong>Complex c2 = new Complex(3, 11);</strong>
<strong>Complex c3 = Complex.Add(c1, c2);</strong>
<strong>Console.WriteLine("Soma: " + String.Format("{0} + {1}i", c3.Real, c3.Imaginary));</strong></pre>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-16381 size-full" title="como somar números complexos em C#" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/02/soma-numeros-complexos-c-sharp.png" alt="como somar números complexos em C#" width="119" height="23"></p>
<p><strong>Exemplo 02</strong>: Multiplicação de números complexos em C#.&nbsp;Cada elemento do primeiro número é multiplicado por cada elemento do segundo número, segundo a fórmula:</p>
<pre><strong><span style="font-size: 18pt; color: #ff6600;">(a+bi)(c+di) = ac + adi + bci + bdi<sup>2</sup></span></strong></pre>
<p>Vamos multiplicar os números 2 + 5i e 3 + 11i em C#. Para isso usaremos o método <em><strong>Multiply(num1,num2)</strong></em>, que recebe como argumentos dois números complexos e retorna como resultado o produto entre eles:</p>
<pre><strong>Complex c1 = new Complex(2,5);</strong>
<strong>Complex c2 = new Complex(3, 11);</strong>
<strong>Complex c3 = Complex.Multiply(c1, c2);</strong>
<strong>Console.WriteLine("Produto: " + String.Format("{0} + {1}i", c3.Real, c3.Imaginary));</strong></pre>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-16380 size-full" title="Multiplicação de números complexos em C#" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/02/multiplicar-numeros-complexos-c-sharp.png" alt="Multiplicação de números complexos em C#" width="162" height="26"></p>
<p><strong>Exemplo 03</strong>: Agora vamos realizar uma subtração de números complexos. Para isso usaremos a operação <em><strong>Subtract(num1,num2)</strong></em>, onde:</p>
<ul>
<li>num1 = primeiro número complexo a adicionar</li>
<li>num2 = segundo número complexo a adicionar</li>
</ul>
<p>A subtração de números complexos é realizada subtraindo-se cada parte separadamente, de acordo com a fórmula:</p>
<pre><span style="font-size: 18pt; color: #ff6600;"><strong>(a+bi) - (c+di) = (a-c) + (b-d)i</strong></span></pre>
<p>Vamos ao um exemplo. Iremos subtrair o valor 1 + 3i de 3 + 5i:</p>
<pre><strong>Complex c1 = new Complex(1,3);</strong>
<strong>Complex c2 = new Complex(3, 5);</strong>
<strong>Complex c3 = Complex.Subtract(c2, c1);</strong>
<strong>Console.WriteLine("Subtração: " + String.Format("{0} + {1}i", c3.Real, c3.Imaginary));</strong></pre>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-16379 size-full" title="Subtração de números complexos em C#" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/02/subtrair-numeros-complexos-c-sharp.png" alt="Subtração de números complexos em C#" width="158" height="30"></p>
<p><strong>Exemplo 04</strong>: Vamos determinar o conjugado de um número complexo. Para isso, vamos empregar o método <strong><em>Conjugate(complex)</em></strong>, que recebe como argumento um número complexo e retorna outro complexo como resultado.</p>
<p>O conjugado de um complexo é o número com o sinal trocado em sua parte imaginária. Vamos determinar o conjugado de&nbsp;<strong>2 + 7i</strong>&nbsp;em C#:</p>
<pre><strong>Complex c1 = new Complex(1,3);
</strong><strong>Complex conj = Complex.Conjugate(c1);
</strong><strong>Console.WriteLine("Conjugado de {0}: {1}", String.Format("{0} + {1}i", c1.Real, c1.Imaginary), String.Format("{0} {1}i", conj.Real, conj.Imaginary));</strong></pre>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-16378 size-full" title="Conjugado de números complexos em C#" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/02/conjugado-numero-complexo-c-sharp.png" alt="Conjugado de números complexos em C#" width="232" height="29"></p>
<p>O conjugado de um complexo é empregado, por exemplo, para auxiliar na operação de divisão entre números complexos, que será nosso próximo exemplo.</p>
<p><strong>Exemplo 05</strong>: Finalmente, vamos efetuar uma divisão entre dois complexos em C#. Usaremos o método <em><strong>Divide(num1,num2)</strong></em> para realizar tal operação, o qual divide o complexo num1 pelo complexo num2.</p>
<p>Vamos realizar a seguinte divisão de complexos com C#:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-16359" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/02/dividir-numeros-complexos-01.png" alt="Divisão de números complexos" width="99" height="83"></p>
<p>Código:</p>
<pre><strong>Complex c1 = new Complex(5, 2);</strong>
<strong>Complex c2 = new Complex(7, 4);</strong>
<strong>Complex cDiv = Complex.Divide(c1,c2);</strong>
<strong>Console.WriteLine("Resultado da divisão: {0}", String.Format("{0} + {1}i", cDiv.Real, cDiv.Imaginary));</strong></pre>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-16376 size-full" title="Resultado da divisão de dois números complexos em C#" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/02/divisao-complex-c-sharp.png" alt="Resultado da divisão de dois números complexos em C#" width="519" height="36" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2020/02/divisao-complex-c-sharp.png 519w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/02/divisao-complex-c-sharp-420x29.png 420w" sizes="auto, (max-width: 519px) 100vw, 519px" /></p>
<p>É isso aí! A estrutura Complex em C# possui inúmeros outros métodos que implementam operações matemáticas com números complexos, se sua documentação oficial por ser consultada <a href="https://docs.microsoft.com/pt-br/dotnet/api/system.numerics.complex?view=netframework-4.8" target="_blank" rel="noopener nofollow">aqui</a>.</p>
<p>No próximo artigo vamos abordar algumas operações mais avançadas que podem ser realizadas com a estrutura Complex. Até!</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/csharp/numeros-complexos-em-c-introducao/">Números Complexos em C# &#8211; Introdução</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/csharp/numeros-complexos-em-c-introducao/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Criar string de conexão em C# com a classe SqlConnection e conectar a um banco de dados SQL Server</title>
		<link>https://www.bosontreinamentos.com.br/csharp/criar-string-de-conexao-em-c-com-a-classe-sqlconnection-e-conectar-a-um-banco-de-dados-sql-server/</link>
					<comments>https://www.bosontreinamentos.com.br/csharp/criar-string-de-conexao-em-c-com-a-classe-sqlconnection-e-conectar-a-um-banco-de-dados-sql-server/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Tue, 27 Aug 2019 13:39:53 +0000</pubDate>
				<category><![CDATA[Programação com C#]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[SQL Server]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=14705</guid>

					<description><![CDATA[<p>Conectar ao banco de dados: a classe SqlConnection Na lição anterior apresentamos o namespace SqlClient, e agora iremos criar uma string de conexão ao banco de dados usando este namespace. Criar a string de conexão SQL Primeiramente precisamos criar a string de conexão ao banco de dados desejado. Para isso, após importarmos a classe SqlClient por meio de uma diretiva using, criamos a string de conexão (que chamaremos de strConn), informando a fonte dos dados, nome do banco desejado e tipo de segurança, como podemos ver a seguir: //... Diretivas using ... using System.Data.SqlClient; public partial class TelaPrincipal : Form { public string strConn; public TelaPrincipal() { InitializeComponent(); strConn = ("Data Source=Boson-PC\\SQLEXPRESS;Initial Catalog=db_Biblioteca;Integrated Security=true"); } //... Resto do código ... Com a string de conexão criada, podemos agora efetuar a conexão de nossa aplicação a um banco de dados do SQL Server. Veremos como fazer isto na sequência. Conectar ao Banco de Dados Para efetuar a conexão ao banco de dados, criamos um objeto do tipo SqlConnection e o inicializamos passando como parâmetro a string de conexão criada: SqlConnection conn = new SqlConnection(strConn); Desta forma, criamos um objeto de nome conn, o qual contém a string de conexão strConn, declarada [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/csharp/criar-string-de-conexao-em-c-com-a-classe-sqlconnection-e-conectar-a-um-banco-de-dados-sql-server/">Criar string de conexão em C# com a classe SqlConnection e conectar a um banco de dados SQL Server</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Conectar ao banco de dados: a classe SqlConnection</h2>
<p>Na lição anterior apresentamos o <a href="http://www.bosontreinamentos.com.br/csharp/acesso-a-banco-de-dados-sql-server-o-namespace-sqlclient/" target="_blank" rel="noopener">namespace SqlClient</a>, e agora iremos criar uma string de conexão ao banco de dados usando este namespace.</p>
<h3>Criar a string de conexão SQL</h3>
<p>Primeiramente precisamos criar a string de conexão ao banco de dados desejado. Para isso, após importarmos a classe SqlClient por meio de uma diretiva <strong><em>using</em></strong>, criamos a string de conexão (que chamaremos de strConn), informando a fonte dos dados, nome do banco desejado e tipo de segurança, como podemos ver a seguir:</p>
<pre><span style="color: #339966;">//... Diretivas using ...</span>
using System.Data.SqlClient;

public partial class TelaPrincipal : Form
{
public string strConn;

public TelaPrincipal()
{
  InitializeComponent();
  strConn = ("Data Source=Boson-PC\\SQLEXPRESS;Initial Catalog=db_Biblioteca;Integrated Security=true");
}
<span style="color: #339966;">//... Resto do código ...</span></pre>
<p>Com a string de conexão criada, podemos agora efetuar a conexão de nossa aplicação a um banco de dados do SQL Server. Veremos como fazer isto na sequência.</p>
<h3>Conectar ao Banco de Dados</h3>
<p>Para efetuar a conexão ao banco de dados, criamos um objeto do tipo <strong>SqlConnection</strong> e o inicializamos passando como parâmetro a string de conexão criada:</p>
<pre>SqlConnection conn = new SqlConnection(strConn);</pre>
<p>Desta forma, criamos um objeto de nome <strong>conn</strong>, o qual contém a string de conexão <strong>strConn</strong>, declarada no início do código.</p>
<p>Para realizar a conexão ao banco de dados (abrir a conexão), basta agora chamar o método <strong>Open()</strong> do objeto SqlConnection criado:</p>
<pre>conn.Open();</pre>
<p>Se a conexão for realizada com sucesso será possível realizar operações no banco de dados indicado, como consultas ou inserções de dados. Veremos como realizar essas operações nas próximas lições deste minicurso.</p>
<p>Após realizar as operações desejadas no banco, é importante fechar a conexão, usando para isso o método <strong>Close()</strong>:</p>
<pre>conn.Close();</pre>
<p>É isso aí! Agora que já sabemos como criar uma string de conexão e como conectar a aplicação ao banco de dados, podemos começar a realizar as operações desejadas no banco, como as operações CRUD (Create, Read, Update, Delete). Nos ocuparemos disso nos próximos artigos.</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/csharp/criar-string-de-conexao-em-c-com-a-classe-sqlconnection-e-conectar-a-um-banco-de-dados-sql-server/">Criar string de conexão em C# com a classe SqlConnection e conectar a um banco de dados SQL Server</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/csharp/criar-string-de-conexao-em-c-com-a-classe-sqlconnection-e-conectar-a-um-banco-de-dados-sql-server/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Código do SQL Server do banco db_Biblioteca para C#</title>
		<link>https://www.bosontreinamentos.com.br/csharp/codigo-para-sql-server-do-banco-db_biblioteca-para-c/</link>
					<comments>https://www.bosontreinamentos.com.br/csharp/codigo-para-sql-server-do-banco-db_biblioteca-para-c/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 05 Apr 2019 11:11:43 +0000</pubDate>
				<category><![CDATA[Programação com C#]]></category>
		<category><![CDATA[Bancos de Dados]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[SQL Server]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=14709</guid>

					<description><![CDATA[<p>Código para SQL Server do banco db_Biblioteca Para que possamos prosseguir com nosso estudo sobre acesso a bancos de dados SQL Server com C# / Windows Forms, vamos precisar de um banco de dados pronto e com dados registrados. Iremos empregar o banco de dados db_Biblioteca, o qual já foi utilizado em nossos cursos de SQL Server e MySQL. Para acelerar os estudos, temos aqui o código completo do banco, incluindo a criação de suas três tabelas e respectiva inserção de alguns registros. Basta executá-lo no SQL Server Management Studio. Não se esqueça de criar uma pasta chamada &#8220;SQL&#8221; na raiz de seu computador (C:\SQL), ou se preferir usar outra pasta para armazenar o banco, altere o código da seção &#8220;Criar o banco&#8221; de acordo com o caminho de sua pasta. Diagrama A seguir temos o diagrama que mostra as tabelas do banco de dados que será criado (tbl_livros, tbl_autores e tbl_editoras): Código -- Criar o banco CREATE DATABASE db_Biblioteca ON PRIMARY (NAME = db_Biblioteca, FILENAME = 'C:\SQL\db_Biblioteca.mdf', SIZE = 6MB, MAXSIZE = 15MB, FILEGROWTH = 10%) LOG ON ( NAME = db_Biblioteca_log, FILENAME = 'C:\SQL\db_Biblioteca.ldf', SIZE = 1MB, FILEGROWTH = 1MB) GO -- Criar Tabelas USE db_Biblioteca; CREATE TABLE [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/csharp/codigo-para-sql-server-do-banco-db_biblioteca-para-c/">Código do SQL Server do banco db_Biblioteca para C#</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Código para SQL Server do banco db_Biblioteca</h2>
<p>Para que possamos prosseguir com nosso estudo sobre acesso a bancos de dados SQL Server com C# / Windows Forms, vamos precisar de um banco de dados pronto e com dados registrados. Iremos empregar o banco de dados <strong>db_Biblioteca</strong>, o qual já foi utilizado em nossos cursos de <a href="http://www.bosontreinamentos.com.br/curso-de-microsoft-sql-server/" target="_blank" rel="noopener">SQL Server</a> e <a href="http://www.bosontreinamentos.com.br/curso-completo-de-mysql/" target="_blank" rel="noopener">MySQL</a>.</p>
<p>Para acelerar os estudos, temos aqui o código completo do banco, incluindo a criação de suas três tabelas e respectiva inserção de alguns registros. Basta executá-lo no SQL Server Management Studio.</p>
<p>Não se esqueça de criar uma pasta chamada &#8220;<strong>SQL</strong>&#8221; na raiz de seu computador (C:\SQL), ou se preferir usar outra pasta para armazenar o banco, altere o código da seção &#8220;Criar o banco&#8221; de acordo com o caminho de sua pasta.</p>
<h3>Diagrama</h3>
<p>A seguir temos o diagrama que mostra as tabelas do banco de dados que será criado (tbl_livros, tbl_autores e tbl_editoras):</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-14718" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/04/banco-dados-biblioteca-sql-server-diagrama.png" alt="Diagrama de banco de dados db_biblioteca" width="568" height="459" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2019/04/banco-dados-biblioteca-sql-server-diagrama.png 568w, https://www.bosontreinamentos.com.br/wp-content/uploads/2019/04/banco-dados-biblioteca-sql-server-diagrama-420x339.png 420w" sizes="auto, (max-width: 568px) 100vw, 568px" /></p>
<h3>Código</h3>
<pre><span style="color: #339966;">-- Criar o banco</span>
CREATE DATABASE db_Biblioteca ON PRIMARY
(NAME = db_Biblioteca,
FILENAME = 'C:\SQL\db_Biblioteca.mdf',
SIZE = 6MB,
MAXSIZE = 15MB,
FILEGROWTH = 10%)
LOG ON (
NAME = db_Biblioteca_log,
FILENAME = 'C:\SQL\db_Biblioteca.ldf',
SIZE = 1MB, FILEGROWTH = 1MB)
GO

<span style="color: #339966;">-- Criar Tabelas</span>
USE db_Biblioteca;
CREATE TABLE tbl_autores (
ID_Autor SMALLINT PRIMARY KEY IDENTITY,
Nome_Autor VARCHAR(50),
Sobrenome_Autor VARCHAR(60)
)
GO
CREATE TABLE tbl_editoras
(ID_Editora SMALLINT PRIMARY KEY IDENTITY,
Nome_Editora VARCHAR(50)
)
GO
CREATE TABLE tbl_livros (
ID_Livro SMALLINT IDENTITY(100,1),
Nome_Livro VARCHAR (50) NOT NULL,
ISBN VARCHAR(30) NOT NULL UNIQUE,
ID_Autor SMALLINT NOT NULL,
Data_Pub DATE NOT NULL,
Preco_Livro MONEY NOT NULL,
ID_Editora SMALLINT NOT NULL
CONSTRAINT pk_id_livro PRIMARY KEY (ID_Livro),
CONSTRAINT fk_ID_Autor FOREIGN KEY (ID_Autor)
REFERENCES tbl_autores (ID_Autor) ON DELETE CASCADE,
CONSTRAINT fk_ID_Editora FOREIGN KEY (ID_Editora)
REFERENCES tbl_editoras (ID_Editora) ON DELETE CASCADE
)
GO

<span style="color: #339966;">--Inserir dados na tabela de Autores</span>
INSERT INTO tbl_Autores (Nome_Autor, SobreNome_Autor)
VALUES
('Daniel', 'Barret'),
('Gerald', 'Carter'),
('Mark', 'Sobell'),
('William', 'Stanek'),
('Richard', 'Blum')
GO
<span style="color: #339966;">--Inserir dados na tabela de Editoras</span>
INSERT INTO tbl_Editoras (Nome_Editora)
VALUES
('Prentice Hall'),
('O´Reilly'),
('Microsoft Press'),
('Wiley')
GO
<span style="color: #339966;">--Inserir dados na tabela de Livros</span>
INSERT INTO tbl_Livros (Nome_Livro, ISBN, Data_Pub, Preco_Livro, ID_Autor, ID_editora)
VALUES
('Linux Command Line and Shell Scripting',143856969,'20091221', 68.35, 5, 4),
('SSH, the Secure Shell',127658789,'20091221', 58.30, 1, 2),
('Using Samba',123856789,'20001221', 61.45, 2, 2),
('Fedora and Red Hat Linux', 123346789, '20101101', 62.24, 3, 1),
('Windows Server 2012 Inside Out',123356789,'20040517', 66.80, 4, 3),
('Microsoft Exchange Server 2010',123366789,'20001221', 45.30, 4, 3)
GO

<span style="color: #339966;">-- Verificar se registros foram inseridos</span>
SELECT * FROM tbl_livros;</pre>
<div id="attachment_14713" style="width: 641px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-14713" class="size-full wp-image-14713" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/04/banco-dados-biblioteca-sql-server.png" alt="Banco de dados db_Biblioteca" width="631" height="185" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2019/04/banco-dados-biblioteca-sql-server.png 631w, https://www.bosontreinamentos.com.br/wp-content/uploads/2019/04/banco-dados-biblioteca-sql-server-420x123.png 420w" sizes="auto, (max-width: 631px) 100vw, 631px" /><p id="caption-attachment-14713" class="wp-caption-text">Banco criado e com dados inseridos.</p></div>
<p>É isso aí! Na próxima lição vamos estudar o <a href="http://www.bosontreinamentos.com.br/csharp/acesso-a-banco-de-dados-sql-server-o-namespace-sqlclient/">namespace SqlClient</a>. Até!</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/csharp/codigo-para-sql-server-do-banco-db_biblioteca-para-c/">Código do SQL Server do banco db_Biblioteca para C#</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/csharp/codigo-para-sql-server-do-banco-db_biblioteca-para-c/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Acesso a Banco de Dados SQL Server: o namespace SqlClient</title>
		<link>https://www.bosontreinamentos.com.br/csharp/acesso-a-banco-de-dados-sql-server-o-namespace-sqlclient/</link>
					<comments>https://www.bosontreinamentos.com.br/csharp/acesso-a-banco-de-dados-sql-server-o-namespace-sqlclient/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Wed, 03 Apr 2019 14:08:12 +0000</pubDate>
				<category><![CDATA[Programação com C#]]></category>
		<category><![CDATA[Bancos de Dados]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[SQL Server]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=14666</guid>

					<description><![CDATA[<p>O Namespace SqlClient O namespace System.Data.SqlClient&#160;contém diversas classes e outros componentes que permitem realizar a interação com um banco de dados do SQL Server, a partir de uma aplicação em C#, permitindo assim o desenvolvimento de aplicações orientadas a dados. Ele é um Provedor de Dados .NET para o SQL Server (Data Provider). Este namespace fornece uma grande variedade de funcionalidades, como por exemplo criação de conexões a bancos de dados, permitir a inserção de dados e a manipulação de registros. Ou seja, é um recurso essencial para a construção desse tipo de aplicação. Para usar as classes disponíveis neste namespace é necessário declará-lo por meio de uma diretiva using na seção de namespaces do código da aplicação: using System.Data.SqlClient; Exemplos de classes comumente utilizadas do namespace SqlClient: Classe Função SqlCommand Representa uma instrução T-SQL ou um procedimento armazenado para execução no banco de dados SQL Server. SqlConnection Representa uma conexão que será realizada com um banco de dados do SQL Server. SqlConnectionStringBuilder Fornece uma forma simples de criar e gerenciar o conteúdo de strings de conexão usadas pela classe SqlConnection. SqlDataAdapter Representa um conjunto de comandos de dados e uma conexão de banco de dados que serão empregados para [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/csharp/acesso-a-banco-de-dados-sql-server-o-namespace-sqlclient/">Acesso a Banco de Dados SQL Server: o namespace SqlClient</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>O Namespace SqlClient</h2>
<p>O namespace <strong>System.Data.SqlClient</strong>&nbsp;contém diversas classes e outros componentes que permitem realizar a interação com um banco de dados do SQL Server, a partir de uma aplicação em C#, permitindo assim o desenvolvimento de aplicações orientadas a dados. Ele é um Provedor de Dados .NET para o SQL Server (Data Provider).</p>
<p>Este namespace fornece uma grande variedade de funcionalidades, como por exemplo criação de conexões a bancos de dados, permitir a inserção de dados e a manipulação de registros. Ou seja, é um recurso essencial para a construção desse tipo de aplicação.</p>
<p>Para usar as classes disponíveis neste namespace é necessário declará-lo por meio de uma diretiva <em>using</em> na seção de namespaces do código da aplicação:</p>
<pre>using System.Data.SqlClient;</pre>
<p>Exemplos de classes comumente utilizadas do namespace SqlClient:</p>
<table style="border-collapse: collapse; width: 100%;" border="1">
<thead>
<tr>
<td style="width: 30.9254%; text-align: center;"><strong>Classe</strong></td>
<td style="width: 69.0746%; text-align: center;"><strong>Função</strong></td>
</tr>
</thead>
<tbody>
<tr>
<td style="width: 30.9254%;">SqlCommand</td>
<td style="width: 69.0746%;">Representa uma instrução T-SQL ou um procedimento armazenado para execução no banco de dados SQL Server.</td>
</tr>
<tr>
<td style="width: 30.9254%;">SqlConnection</td>
<td style="width: 69.0746%;">Representa uma conexão que será realizada com um banco de dados do SQL Server.</td>
</tr>
<tr>
<td style="width: 30.9254%;">SqlConnectionStringBuilder</td>
<td style="width: 69.0746%;">Fornece uma forma simples de criar e gerenciar o conteúdo de strings de conexão usadas pela classe SqlConnection.</td>
</tr>
<tr>
<td style="width: 30.9254%;">SqlDataAdapter</td>
<td style="width: 69.0746%;">Representa um conjunto de comandos de dados e uma conexão de banco de dados que serão empregados para preencher um DataSet residente na memória e atualizar ou consultar o banco de dados.</td>
</tr>
<tr>
<td style="width: 30.9254%;">SqlDataReader</td>
<td style="width: 69.0746%;">Fornece uma maneira de ler um fluxo em um único sentido de linhas a partir de um banco de dados SQL Server.</td>
</tr>
<tr>
<td style="width: 30.9254%;">SqlException</td>
<td style="width: 69.0746%;">Exceção gerada quando o SQL Server retorna algum aviso ou erro.</td>
</tr>
<tr>
<td style="width: 30.9254%;">SqlTransaction</td>
<td style="width: 69.0746%;">Representa uma transação T-SQL a ser feita em um banco de dados do SQL Server.</td>
</tr>
</tbody>
</table>
<p>A lista completa de classes, enumerações e delegates do namespace System.Data.SqlClient pode ser consultada na página da&nbsp;<a href="https://docs.microsoft.com/en-us/dotnet/api/system.data.sqlclient?view=netframework-4.7.2" target="_blank" rel="noopener">documentação oficial da Microsoft</a>.</p>
<p>Na próxima lição vamos explorar a criação de uma string de conexão a um banco de dados por meio do uso da classe SqlConnection.</p>
<p>Anterior:&nbsp;<a href="http://www.bosontreinamentos.com.br/csharp/codigo-para-sql-server-do-banco-db_biblioteca-para-c/">Código do SQL Server do banco db_Biblioteca para C#</a></p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/csharp/acesso-a-banco-de-dados-sql-server-o-namespace-sqlclient/">Acesso a Banco de Dados SQL Server: o namespace SqlClient</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/csharp/acesso-a-banco-de-dados-sql-server-o-namespace-sqlclient/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Desvio Condicional em C# &#8211; if / else if / else</title>
		<link>https://www.bosontreinamentos.com.br/csharp/decisao-condicional-em-c-if-else-if-else/</link>
					<comments>https://www.bosontreinamentos.com.br/csharp/decisao-condicional-em-c-if-else-if-else/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 10 Aug 2018 13:14:19 +0000</pubDate>
				<category><![CDATA[Programação com C#]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=13058</guid>

					<description><![CDATA[<p>Desvio Condicional em C# &#8211; if / else if / else Nesta lição iremos estudar as Estruturas de Decisão Condicional em C#. Veremos como trabalhar com o Condicional Simples, com o Condicional Composto e também com o Condicional Encadeado. Desvio Condicional Simples em C# O desvio condicional simples tem por finalidade tomar uma decisão de acordo com o resultado de uma condição (teste lógico). Se o teste lógico retorna o valor true, as instruções contidas no bloco delimitado por chaves { } serão executadas; caso contrário, nada ocorrerá. Sintaxe: if (teste lógico) { instruções a executar se teste lógico retornar true } A seguir temos um exemplo de utilização do condicional simples em C#: // Condicional Simples: int num1; int num2; Console.WriteLine("Digite um número:"); num1 = int.Parse(Console.ReadLine()); Console.WriteLine("Digite outro número:"); num2 = int.Parse(Console.ReadLine()); if (num1 == num2) { Console.WriteLine("Os números são iguais"); } Desvio Condicional Composto em C# O desvio condicional composto também tem por finalidade tomar uma decisão de acordo com o resultado de uma condição (teste lógico). Assim como no condicional simples, se o teste retorna verdadeiro, as instruções contidas no bloco if delimitado por chaves { } serão executadas. Porém, se o teste retornar false, as instruções [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/csharp/decisao-condicional-em-c-if-else-if-else/">Desvio Condicional em C# &#8211; if / else if / else</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Desvio Condicional em C# &#8211; if / else if / else</h2>
<p>Nesta lição iremos estudar as Estruturas de Decisão Condicional em C#. Veremos como trabalhar com o Condicional Simples, com o Condicional Composto e também com o Condicional Encadeado.</p>
<h3>Desvio Condicional Simples em C#</h3>
<p>O desvio condicional simples tem por finalidade tomar uma decisão de acordo com o resultado de uma condição (teste lógico).</p>
<p>Se o teste lógico retorna o valor <em>true</em>, as instruções contidas no bloco delimitado por chaves <strong>{ }</strong> serão executadas; caso contrário, nada ocorrerá.</p>
<p><strong>Sintaxe:</strong></p>
<pre><span style="color: #800080;"><strong>if (teste lógico) {</strong></span>
<span style="color: #800080;"><strong>   instruções a executar se teste lógico retornar <em>true</em></strong></span>
<span style="color: #800080;"><strong>}</strong></span></pre>
<p>A seguir temos um exemplo de utilização do condicional simples em C#:</p>
<pre><span style="color: #339966;"><strong>// Condicional Simples:</strong></span>
<span style="color: #ff0000;"><strong>int num1;</strong></span>
<span style="color: #ff0000;"><strong>int num2;</strong></span>
<span style="color: #ff0000;"><strong>Console.WriteLine("Digite um número:");</strong></span>
<span style="color: #ff0000;"><strong>num1 = int.Parse(Console.ReadLine());</strong></span>
<span style="color: #ff0000;"><strong>Console.WriteLine("Digite outro número:");</strong></span>
<span style="color: #ff0000;"><strong>num2 = int.Parse(Console.ReadLine());</strong></span>
<span style="color: #ff0000;"><strong>if (num1 == num2) </strong></span><span style="color: #ff0000;"><strong>{</strong></span>
<span style="color: #ff0000;"><strong>   Console.WriteLine("Os números são iguais");</strong></span>
<span style="color: #ff0000;"><strong>}</strong></span></pre>
<h3>Desvio Condicional Composto em C#</h3>
<p>O desvio condicional composto também tem por finalidade tomar uma decisão de acordo com o resultado de uma condição (teste lógico). Assim como no condicional simples, se o teste retorna verdadeiro, as instruções contidas no bloco <strong>if</strong> delimitado por chaves <strong>{ }</strong> serão executadas. Porém, se o teste retornar <em>false</em>, as instruções contidas no bloco <strong>else</strong> é que serão executadas.</p>
<p><strong>Sintaxe:</strong></p>
<pre><span style="color: #800080;"><strong>if (teste lógico) {</strong></span>
<span style="color: #800080;"><strong>   instruções a executar se teste lógico retornar <em>true</em></strong></span>
<span style="color: #800080;"><strong>}</strong></span>
<span style="color: #800080;"><strong>else {</strong></span>
<span style="color: #800080;"><strong>   instruções a executar se teste lógico retornar <em>false</em>
}</strong></span></pre>
<p>Note que a palavra <em>else</em> deve vir imediatamente após a chave que fecha o bloco <em>if</em>, caso contrário será gerado um erro.</p>
<p>A seguir temos um exemplo de utilização do condicional composto em C#:</p>
<pre><span style="color: #339966;"><strong>// Condicional Composto:</strong></span>
<span style="color: #ff0000;"><strong>int num1;</strong></span>
<span style="color: #ff0000;"><strong>int num2;</strong></span>
<span style="color: #ff0000;"><strong>Console.WriteLine("Digite um número:");</strong></span>
<span style="color: #ff0000;"><strong>num1 = int.Parse(Console.ReadLine());</strong></span>
<span style="color: #ff0000;"><strong>Console.WriteLine("Digite outro número:");</strong></span>
<span style="color: #ff0000;"><strong>num2 = int.Parse(Console.ReadLine());</strong></span>
<span style="color: #ff0000;"><strong>if (num1 == num2) </strong></span><span style="color: #ff0000;"><strong>{</strong></span>
<span style="color: #ff0000;"><strong>   Console.WriteLine("Os números são iguais");</strong></span>
<span style="color: #ff0000;"><strong>}</strong></span>
<span style="color: #ff0000;"><strong>else </strong></span><span style="color: #ff0000;"><strong>{</strong></span>
<span style="color: #ff0000;"><strong>   Console.WriteLine("Os números são diferentes");</strong></span>
<span style="color: #ff0000;"><strong>}</strong></span></pre>
<h3>Desvio Condicional Encadeado em C#</h3>
<p><span style="font-weight: 400;">O condicional encadeado é usado quando é necessário verificar condições sucessivas onde uma ação será executada se um conjunto anterior de ações for satisfeito. Usamos a combinação <strong><em>else if</em></strong> para criar testes encadeados (ou aninhados).</span></p>
<p><strong>Sintaxe:</strong></p>
<pre><span style="color: #800080;"><strong>if (teste lógico #1) {</strong></span>
<span style="color: #800080;"><strong>   instruções a executar se teste lógico retornar <em>true</em></strong></span>
<span style="color: #800080;"><strong>}</strong></span>
<span style="color: #800080;"><strong>else if (teste lógico #2) {</strong></span>
<span style="color: #800080;"><strong>   instruções a executar se teste lógico #1 retornar <em>false</em>
}
else {
 instruções a executar se ambos os testes lógicos retornarem <em>false</em>
}
</strong></span></pre>
<p>Você pode encadear quantos blocos <em>else if</em> forem necessários. Note que o bloco <em>else</em> deve ser sempre a última instrução do conjunto (não pode vir antes de um <em>else if</em>).</p>
<p>A seguir temos um exemplo de utilização do condicional encadeado em C#:</p>
<pre><span style="color: #339966;"><strong>// Condicional Encadeado:</strong></span>
<span style="color: #ff0000;"><strong>int num1;</strong></span>
<span style="color: #ff0000;"><strong>int num2;</strong></span>
<span style="color: #ff0000;"><strong>Console.WriteLine("Digite um número:");</strong></span>
<span style="color: #ff0000;"><strong>num1 = int.Parse(Console.ReadLine());</strong></span>
<span style="color: #ff0000;"><strong>Console.WriteLine("Digite outro número:");</strong></span>
<span style="color: #ff0000;"><strong>num2 = int.Parse(Console.ReadLine());</strong></span>
<span style="color: #ff0000;"><strong>if (num1 &gt; num2) </strong></span><span style="color: #ff0000;"><strong>{</strong></span>
<span style="color: #ff0000;"><strong>   Console.WriteLine("num1 é maior que num2");</strong></span>
<span style="color: #ff0000;"><strong>}</strong></span>
<span style="color: #ff0000;"><strong>else if (num1 &lt; num2) </strong></span><span style="color: #ff0000;"><strong>{</strong></span>
<span style="color: #ff0000;"><strong>   Console.WriteLine("num1 é menor que num2");</strong></span>
<span style="color: #ff0000;"><strong>}</strong></span>
<span style="color: #ff0000;"><strong>else </strong></span><span style="color: #ff0000;"><strong>{</strong></span>
<span style="color: #ff0000;"><strong>   Console.WriteLine("os númros são iguais");</strong></span>
<span style="color: #ff0000;"><strong>}</strong></span></pre>
<p>Próximo: Estruturas de Repetição em C#</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/csharp/decisao-condicional-em-c-if-else-if-else/">Desvio Condicional em C# &#8211; if / else if / else</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/csharp/decisao-condicional-em-c-if-else-if-else/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Ordenação de Arrays com método Bubble Sort em C#</title>
		<link>https://www.bosontreinamentos.com.br/csharp/ordenacao-de-arrays-com-metodo-bubble-sort-em-c/</link>
					<comments>https://www.bosontreinamentos.com.br/csharp/ordenacao-de-arrays-com-metodo-bubble-sort-em-c/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Wed, 13 Sep 2017 01:04:12 +0000</pubDate>
				<category><![CDATA[Programação com C#]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=10711</guid>

					<description><![CDATA[<p>Ordenação de Arrays com método Bubble Sort em C# Existem várias técnicas que podem ser empregadas para colocar os elementos de um array em ordem (crescente ou alfabética). Por exemplo, em C#  podemos usar o método Array.Sort para ordenar o array, de forma simples e objetiva. Porém, para fins didáticos, neste tutorial vou mostrar como implementar nosso próprio sistema de ordenação de elementos de um array, usando o método Bubble Sort em C#, e no final do artigo também mostrarei como usar o método Array.Sort para ordenar o conteúdo de um array. O projeto Vamos criar um novo projeto no Visual Studio e acrescentar dois botões e dois labels (podem ser listboxes, se você preferir). Daremos os seguintes nomes aos componentes: Botão bntOrdenaArray &#8211; Botão que ao ser clicado, coloca o conteúdo do array e ordem e o exibe em um label ou listbox Botão bntMostraArray &#8211; Botão que exibe o conteúdo do array criado antes de ser ordenado. Label lblOriginal &#8211; Label que exibe o conteúdo do array antes da ordenação. Label lblOrdenado &#8211; Label que mostra o conteúdo do array após a ordenação. Código A listagem a seguir traz o código completo da aplicação, para cada componente: namespace bubblesort [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/csharp/ordenacao-de-arrays-com-metodo-bubble-sort-em-c/">Ordenação de Arrays com método Bubble Sort em C#</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Ordenação de Arrays com método Bubble Sort em C#</h2>
<p>Existem várias técnicas que podem ser empregadas para colocar os elementos de um array em ordem (crescente ou alfabética). Por exemplo, em C#  podemos usar o método Array.Sort para ordenar o array, de forma simples e objetiva.</p>
<p>Porém, para fins didáticos, neste tutorial vou mostrar como implementar nosso próprio sistema de ordenação de elementos de um array, usando o método Bubble Sort em C#, e no final do artigo também mostrarei como usar o método Array.Sort para ordenar o conteúdo de um array.</p>
<h3>O projeto</h3>
<p>Vamos criar um novo projeto no Visual Studio e acrescentar dois botões e dois labels (podem ser listboxes, se você preferir). Daremos os seguintes nomes aos componentes:</p>
<ul>
<li>Botão bntOrdenaArray &#8211; Botão que ao ser clicado, coloca o conteúdo do array e ordem e o exibe em um label ou listbox</li>
<li>Botão bntMostraArray &#8211; Botão que exibe o conteúdo do array criado antes de ser ordenado.</li>
<li>Label lblOriginal &#8211; Label que exibe o conteúdo do array antes da ordenação.</li>
<li>Label lblOrdenado &#8211; Label que mostra o conteúdo do array após a ordenação.</li>
</ul>
<h3>Código</h3>
<p>A listagem a seguir traz o código completo da aplicação, para cada componente:</p>
<pre><span style="color: #ff0000;"><strong>namespace bubblesort</strong></span>
<span style="color: #ff0000;"><strong>{</strong></span>
<span style="color: #ff0000;"><strong> public partial class Form1 : Form</strong></span>
<span style="color: #ff0000;"><strong> {</strong></span>
<span style="color: #ff0000;"><strong>   int[] x = { 2, 1, 8, 7, 5, 9, 15, 3, 6 };</strong></span>
<span style="color: #ff0000;"><strong>   public Form1()</strong></span>
<span style="color: #ff0000;"><strong>   {</strong></span>
<span style="color: #ff0000;"><strong>     InitializeComponent();</strong></span>
<span style="color: #ff0000;"><strong>   }</strong></span>
<span style="color: #339966;"><strong> // criando o método bubblesort</strong></span>
<span style="color: #ff0000;"><strong>   public void bubblesort(int[] y)</strong></span>
<span style="color: #ff0000;"><strong>   {</strong></span>
<span style="color: #ff0000;"><strong>     for (int i = 1; i &lt; y.Length; i++)</strong></span>
<span style="color: #ff0000;"><strong>       for (int j = 0; j &lt; y.Length - 1; j++)</strong></span>
<span style="color: #ff0000;"><strong>          if (y[j] &gt; y[j + 1])</strong></span>
<span style="color: #ff0000;"><strong>            troca(y, j);</strong></span>
<span style="color: #ff0000;"><strong>   }</strong></span>
<span style="color: #339966;"><strong> // algoritmo de troca de valores de variáveis:</strong></span>
<span style="color: #ff0000;"><strong>   public void troca(int[] g, int primeiro)</strong></span>
<span style="color: #ff0000;"><strong>   {</strong></span>
<span style="color: #ff0000;"><strong>     int aux;</strong></span>
<span style="color: #ff0000;"><strong>     aux = g[primeiro];</strong></span>
<span style="color: #ff0000;"><strong>     g[primeiro] = g[primeiro + 1];</strong></span>
<span style="color: #ff0000;"><strong>     g[primeiro + 1] = aux;</strong></span>
<span style="color: #ff0000;"><strong>   }</strong></span>
<span style="color: #ff0000;"><strong>   private void btnOrdenaArray_Click(object sender, EventArgs e) <span style="color: #339966;">// Botão para ordenar o array</span></strong></span>
<span style="color: #ff0000;"><strong>   {</strong></span>
<span style="color: #339966;"><strong>     // Ordenando e exibindo o array:</strong></span>
<span style="color: #ff0000;"><strong>     bubblesort(x);</strong></span>
<span style="color: #ff0000;"><strong>     lblOrdenado.Text = "Itens do array ordenados:\n";</strong></span>
<span style="color: #ff0000;"><strong>     for (int i = 0; i &lt; x.Length; i++)</strong></span>
<span style="color: #ff0000;"><strong>     {</strong></span>
<span style="color: #ff0000;"><strong>        lblOrdenado.Text += " " + x[i];</strong></span>
<span style="color: #ff0000;"><strong>     }</strong></span>
<span style="color: #ff0000;"><strong>   }</strong></span>
<span style="color: #ff0000;"><strong>   private void btnMostraArray_Click(object sender, EventArgs e) <span style="color: #339966;">// Botão para mostrar conteúdo original do array</span></strong></span>
<span style="color: #ff0000;"><strong>   {</strong></span>
    <span style="color: #ff0000;"><strong> lblOriginal.Text = "Itens do array na ordem original:\n";</strong></span>
<span style="color: #ff0000;"><strong>     for (int i = 0; i &lt; x.Length; i++)</strong></span>
<span style="color: #ff0000;"><strong>     {</strong></span>
<span style="color: #ff0000;"><strong>       lblOriginal.Text += " " + x[i];</strong></span>
<span style="color: #ff0000;"><strong>     }</strong></span>
<span style="color: #ff0000;"><strong>   }</strong></span>
<span style="color: #ff0000;"><strong> }</strong></span>
<span style="color: #ff0000;"><strong>}</strong></span></pre>
<p>A figura a seguir mostra nosso programa em execução, trazendo o array original e seu conteúdo ordenado com o método Bubble Sort:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-10716 size-full" title="Ordenar array em C# com método bubblesort" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2017/09/ordenar-array-c-sharp-método-bubblesort.png" alt="Ordenar array em C# com método bubblesort" width="584" height="305" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2017/09/ordenar-array-c-sharp-método-bubblesort.png 584w, https://www.bosontreinamentos.com.br/wp-content/uploads/2017/09/ordenar-array-c-sharp-método-bubblesort-420x219.png 420w" sizes="auto, (max-width: 584px) 100vw, 584px" /></p>
<p>&nbsp;</p>
<h3>O método Array.Sort()</h3>
<p>Para usar o método Array.Sort() basta passar o array contendo os itens a serem ordenados como parâmetro do método.  Por exemplo, você pode acrescentar mais um botão e um label na aplicação anterior, e usar o código a seguir para realizar a ordenação do conteúdo do array:</p>
<pre><span style="color: #ff0000;"><strong> private void btnArraySort_Click(object sender, EventArgs e)</strong></span>
<span style="color: #ff0000;"><strong> {</strong></span>
<span style="color: #ff0000;"><strong>   Array.Sort(x);</strong></span>
<span style="color: #ff0000;"><strong>   lblArraySort.Text = "Itens do array ordenados:\n";</strong></span>
<span style="color: #ff0000;"><strong>   foreach (int item in x)</strong></span>
<span style="color: #ff0000;"><strong>   {</strong></span>
<span style="color: #ff0000;"><strong>     lblArraySort.Text += " " + item.ToString();</strong></span>
<span style="color: #ff0000;"><strong>   }</strong></span>
<span style="color: #ff0000;"><strong> }</strong></span></pre>
<p>Muito mais simples não? Mas é claro que é muito importante saber criar seus próprios algoritmos para manipulação de estruturas de dados, por isso ensinamos neste tutorial a implementar seu próprio Bubble Sort. Mas na prática procure sempre utilizar clases e métodos já existentes, em ves de &#8220;reinventar a roda&#8221;.</p>
<p>É isso ai! Até a próxima!</p>
<p>Veja também: <a href="http://www.bosontreinamentos.com.br/programacao-em-linguagem-c/ordenacao-de-arrays-em-c-com-o-metodo-bubblesort/">Ordenação de Arrays em C com o método Bubblesort</a></p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/csharp/ordenacao-de-arrays-com-metodo-bubble-sort-em-c/">Ordenação de Arrays com método Bubble Sort em C#</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/csharp/ordenacao-de-arrays-com-metodo-bubble-sort-em-c/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Como gerar números aleatórios com C#</title>
		<link>https://www.bosontreinamentos.com.br/csharp/como-gerar-numeros-aleatorios-com-c/</link>
					<comments>https://www.bosontreinamentos.com.br/csharp/como-gerar-numeros-aleatorios-com-c/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Wed, 19 Apr 2017 20:38:12 +0000</pubDate>
				<category><![CDATA[Programação com C#]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=9264</guid>

					<description><![CDATA[<p>Gerando números aleatórios com C# Classe Random A classe random, pertencente ao namespace System, nos permite gerar números aleatórios em C# por meio de seus métodos, incluindo números inteiros e de ponto flutuante. Números aleatórios são empregados em diversas aplicações, tais como criptografia, simulações estatísticas e jogos de computador. Como usar a classe random Primeiramente, instanciamos a classe: Random numAleatorio = new Random(); E então invocamos um de seus métodos geradores de números aleatórios, atribuindo o retorno do método a uma variável de tipo compatível. Gerando número aleatório inteiro Para gerar um número aleatório inteiro, usamos o método Next(), que permite gerar um valor inteiro (int) positivo entre zero e Int32.MaxValue (2.147.483.647). int valorInteiro = numAleatorio.Next(); Podemos também configurar o intervalo de números gerados adicionando dois argumentos ao método Next(): número inicial e número final + 1. Por exemplo, para gerar apenas números aleatórios entre 1 e 20, escrevemos: int valorInteiro = numAleatorio.Next(1,21); Gerando número aleatório de ponto flutuante: E para gerar um número de ponto flutuante, usamos o método NextDouble(): double valorDecimal = numAleatorio.NextDouble(); Note que o método NextDouble() gera um número do tipo double, e não um float. Visualizando os valores gerados Para ver os valores aleatórios gerados, basta exibir [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/csharp/como-gerar-numeros-aleatorios-com-c/">Como gerar números aleatórios com C#</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Gerando números aleatórios com C#</h1>
<h2>Classe Random</h2>
<p>A classe <strong>random</strong>, pertencente ao namespace <strong>System</strong>, nos permite gerar números aleatórios em C# por meio de seus métodos, incluindo números inteiros e de ponto flutuante. Números aleatórios são empregados em diversas aplicações, tais como criptografia, simulações estatísticas e jogos de computador.</p>
<h3>Como usar a classe random</h3>
<p>Primeiramente, instanciamos a classe:</p>
<pre><span style="color: #800080;"><strong>Random numAleatorio = new Random();</strong></span></pre>
<p>E então invocamos um de seus métodos geradores de números aleatórios, atribuindo o retorno do método a uma variável de tipo compatível.</p>
<h3>Gerando número aleatório inteiro</h3>
<p>Para gerar um número aleatório inteiro, usamos o método <strong>Next()</strong>, que permite gerar um valor inteiro (int) positivo entre zero e <strong>Int32.MaxValue</strong> (2.147.483.647).</p>
<pre><span style="color: #800080;"><strong>int valorInteiro = numAleatorio.Next();</strong></span></pre>
<p>Podemos também configurar o intervalo de números gerados adicionando dois argumentos ao método Next(): número inicial e número final + 1. Por exemplo, para gerar apenas números aleatórios entre 1 e 20, escrevemos:</p>
<pre><span style="color: #800080;"><strong>int valorInteiro = numAleatorio.Next(1,21);</strong></span></pre>
<h3>Gerando número aleatório de ponto flutuante:</h3>
<p>E para gerar um número de ponto flutuante, usamos o método <strong>NextDouble()</strong>:</p>
<pre><span style="color: #800080;"><strong>double valorDecimal = numAleatorio.NextDouble();</strong></span></pre>
<p>Note que o método NextDouble() gera um número do tipo double, e não um float.</p>
<h3>Visualizando os valores gerados</h3>
<p>Para ver os valores aleatórios gerados, basta exibir o conteúdo das variáveis utilizadas em umca caixa de texto, label ou outro componente compatível. O código a seguir, associado a um botão em um formulário, permite gerar e exibir os valores (inteiro e decimal) em dois labels:</p>
<pre><span style="color: #800080;"><strong>private void btnGeraNumero_Click(object sender, EventArgs e)</strong></span>
<span style="color: #800080;"><strong> {</strong></span>
<span style="color: #800080;"><strong>     Random numAleatorio = new Random();</strong></span>
<span style="color: #800080;"><strong>     int valorInteiro = numAleatorio.Next(10,21);</strong></span>
<span style="color: #800080;"><strong>     double valorQuebrado = numAleatorio.NextDouble();</strong></span>
<span style="color: #800080;"><strong>     lblNumeroIntGerado.Text = valorInteiro.ToString();</strong></span>
<span style="color: #800080;"><strong>     lblNumDoubleGerado.Text = valorQuebrado.ToString();</strong></span>
<span style="color: #800080;"><strong> }</strong></span></pre>
<p>Ao executar o programa e clicar no botão, teremos uma saída como a seguinte:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-9266 size-full" title="Gerar números aleatórios com C#" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2017/04/gerar-números-aleatórios-C-sharp.jpg" alt="Gerar números aleatórios com C#" width="711" height="301" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2017/04/gerar-números-aleatórios-C-sharp.jpg 711w, https://www.bosontreinamentos.com.br/wp-content/uploads/2017/04/gerar-números-aleatórios-C-sharp-420x178.jpg 420w" sizes="auto, (max-width: 711px) 100vw, 711px" /></p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/csharp/como-gerar-numeros-aleatorios-com-c/">Como gerar números aleatórios com C#</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/csharp/como-gerar-numeros-aleatorios-com-c/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Curso de C# &#8211; Classe ColorDialog &#8211; Selecionando cores em uma paleta</title>
		<link>https://www.bosontreinamentos.com.br/csharp/curso-de-c-classe-colordialog/</link>
					<comments>https://www.bosontreinamentos.com.br/csharp/curso-de-c-classe-colordialog/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Thu, 22 Sep 2016 23:49:40 +0000</pubDate>
				<category><![CDATA[Programação com C#]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=8039</guid>

					<description><![CDATA[<p>Classe ColorDialog em C# Um controle ColorDialog é utilizado para selecionar uma cor de uma paleta de cores disponível, e também para definir cores personalizadas. Essas cores podem então serem aplicadas em outros objetos do formulário, dinamicamente. É possível criar um controle ColorDialog usando o designer de formulários durante o design da aplicação, ou então usando a classe ColorDialog no código em tempo de execução (runtime), dinamicamente. Modo de Design Para criar um ColorDialog em modo de design, simplesmente arraste o controle apropriado para um form. Você encontrará o ColorDialog na Toolbox -&#62; Dialogs: Modo Run-time Para criar um controle a ColorDialog em tempo de execução basta criar uma instância da classe ColorDialog, ajustar suas propriedades e adicionar a classe aos controles do Form. Primeiro criamos a instância da classe ColorDialog. O trecho de código a seguir permite criar um objeto de controle ColorDialog de nome cdgCaixaCores: ColorDialog cdgCaixaCores = new ColorDialog(); A seguir temos algumas das propriedades que podem ser cofiguradas no controle em runtime: AllowFullOpen &#8211; Habilitar ou desabilitar o botão Definir Cores Personalizadas Color &#8211; A cor selecionada no controle. FullOpen &#8211; O valor true significa que a seção Definir Cores Personalizadas será exibida por padrão ao abrir [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/csharp/curso-de-c-classe-colordialog/">Curso de C# &#8211; Classe ColorDialog &#8211; Selecionando cores em uma paleta</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Classe ColorDialog em C#</h2>
<p>Um controle <strong>ColorDialog</strong> é utilizado para selecionar uma cor de uma paleta de cores disponível, e também para definir cores personalizadas. Essas cores podem então serem aplicadas em outros objetos do formulário, dinamicamente.</p>
<p>É possível criar um controle ColorDialog usando o designer de formulários durante o design da aplicação, ou então usando a classe ColorDialog no código em tempo de execução (runtime), dinamicamente.</p>
<h3>Modo de Design</h3>
<p>Para criar um ColorDialog em modo de design, simplesmente arraste o controle apropriado para um form. Você encontrará o ColorDialog na Toolbox -&gt; Dialogs:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8164" title="Controle ColorDialog - Programação em C#" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2016/09/01-ColorDialog-C-Sharp.png" alt="Controle ColorDialog - Programação em C#" width="350" height="334" /></p>
<h3>Modo Run-time</h3>
<p>Para criar um controle a ColorDialog em tempo de execução basta criar uma instância da classe ColorDialog, ajustar suas propriedades e adicionar a classe aos controles do Form.</p>
<p>Primeiro criamos a instância da classe ColorDialog. O trecho de código a seguir permite criar um objeto de controle ColorDialog de nome <strong>cdgCaixaCores</strong>:</p>
<pre><span style="color: #ff0000;"><strong>ColorDialog cdgCaixaCores = new ColorDialog();</strong></span></pre>
<p>A seguir temos algumas das propriedades que podem ser cofiguradas no controle em runtime:</p>
<ul>
<li><strong>AllowFullOpen</strong> &#8211; Habilitar ou desabilitar o botão <em><strong>Definir Cores Personalizadas</strong></em></li>
<li><strong>Color</strong> &#8211; A cor selecionada no controle.</li>
<li><strong>FullOpen</strong> &#8211; O valor <strong>true</strong> significa que a seção <strong><em>Definir Cores Personalizadas</em></strong> será exibida por padrão ao abrir o ColorDialog.</li>
<li><strong>SolidColorOnly</strong> &#8211; Indica se a caixa restringirá a escolha de cores sólidas pelos usuários.</li>
<li><strong>AnyColor</strong> &#8211; Se a caixa mostrará todas as cores definidas no conjunto de cores básicas.</li>
</ul>
<p>Exemplos de configuração dessas propriedades:</p>
<pre><span style="color: #ff0000;"><strong>cdgCaixaCores.AnyColor = true; <span style="color: #339966;">// Caixa mostra todas as cores definidas</span>
</strong></span><span style="color: #ff0000;"><strong>cdgCaixaCores.SolidColorOnly = false; <span style="color: #339966;">// Usuário poderá escolher cores não sólidas</span></strong></span>
<span style="color: #ff0000;"><strong>cdgCaixaCores.Color = Color.Red; <span style="color: #339966;">// Cor vermelha selecionada no controle.</span></strong></span></pre>
<h3>Usando o controle ColorDialog</h3>
<p>Crie um novo projeto para Windows Forms no Visual Studio e insira no formulário os seguintes controles:</p>
<ul>
<li>Botão com propriedade Name igual a btnCorFundo; Texto: Cor de Fundo</li>
<li>Botão com propriedade Name igual a btnCorTexto; Texto: Cor do Texto</li>
<li>ColorDialog com propriedade Name igual a cdgCaixaCores</li>
<li>TextBox com propriedade Name igual a txtCores; Fonte tamanho 16.</li>
</ul>
<p>Veja nosso projeto na figura a seguir:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8166" title="Projeto no C# - Classe ColorDialog" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2016/09/02-ColorDialog-C-Sharp.png" alt="Projeto no C# - Classe ColorDialog" width="600" height="383" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2016/09/02-ColorDialog-C-Sharp.png 655w, https://www.bosontreinamentos.com.br/wp-content/uploads/2016/09/02-ColorDialog-C-Sharp-420x268.png 420w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>Vamos programar os botões:</p>
<pre><span style="color: #339966;"><strong>// Evento Click do Botão Cor de Fundo - usando o controle da ToolBox:</strong></span>
<span style="color: #ff0000;"><strong>if (cdgCaixaCores.ShowDialog() == DialogResult.OK)</strong></span>
<span style="color: #ff0000;"><strong>{</strong></span>
<span style="color: #ff0000;"><strong>  txtCores.BackColor = cdgCaixaCores.Color; <span style="color: #339966;"> // Muda a cor de fundo da caixa de texto</span>.</strong></span>
<span style="color: #ff0000;"><strong>}</strong></span>
<span style="color: #339966;"><strong>// Evento Click no Botão Cor do Texto (criando um ColorDialog dinamicamente e configurando):</strong></span>
<span style="color: #ff0000;"><strong>ColorDialog cdgCores2 = new ColorDialog();</strong></span>
<span style="color: #ff0000;"><strong>cdgCores2.AllowFullOpen = false;</strong></span>
<span style="color: #ff0000;"><strong>cdgCores2.AnyColor = true;</strong></span>
<span style="color: #ff0000;"><strong>cdgCores2.SolidColorOnly = false;</strong></span>
<span style="color: #ff0000;"><strong>cdgCores2.Color = Color.Blue;</strong></span>
<span style="color: #ff0000;"><strong>if (cdgCores2.ShowDialog() == DialogResult.OK)</strong></span>
<span style="color: #ff0000;"><strong>{</strong></span>
<span style="color: #ff0000;"><strong>  txtCores.ForeColor = cdgCores2.Color;  <span style="color: #339966;">// Alterando a cor do texto digitado na caixa de texto</span></strong></span>
<span style="color: #ff0000;"><strong>}</strong></span></pre>
<p>Para testar, execute o programa, digite uma frase na caixa de texto e clique nos botões para alterar a cor de fundo e de fonte, selecionadas no caixa de diálogo de cores:</p>
<p>1 &#8211; Abrindo o programa e digitando uma frase na caixa de texto:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8170" title="Executando ColorDialog no C#" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2016/09/03-ColorDialog-C-Sharp.png" alt="Executando ColorDialog no C#" width="549" height="292" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2016/09/03-ColorDialog-C-Sharp.png 566w, https://www.bosontreinamentos.com.br/wp-content/uploads/2016/09/03-ColorDialog-C-Sharp-420x223.png 420w" sizes="auto, (max-width: 549px) 100vw, 549px" /></p>
<p>2 &#8211; Clique no botão Cor de Fundo para selecionar uma cor para o background da caixa de texto:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8171" title="Classe ColorDialog - Alterando cores no C#" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2016/09/04-ColorDialog-C-Sharp.png" alt="Classe ColorDialog - Alterando cores no C#" width="550" height="369" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2016/09/04-ColorDialog-C-Sharp.png 568w, https://www.bosontreinamentos.com.br/wp-content/uploads/2016/09/04-ColorDialog-C-Sharp-420x282.png 420w" sizes="auto, (max-width: 550px) 100vw, 550px" /></p>
<p>3 &#8211; Após selecionar a cor e clicar em OK, a cor será aplicada ao fundo da caixa de texto. Clique então no botão Cor do Texto para selecionar uma cor para a frase digitada:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8172" title="Alterando a Cor do Texto em uma caixa de texto com controle ColorDialog no C#" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2016/09/05-ColorDialog-C-Sharp.png" alt="Alterando a Cor do Texto em uma caixa de texto com controle ColorDialog no C#" width="550" height="311" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2016/09/05-ColorDialog-C-Sharp.png 601w, https://www.bosontreinamentos.com.br/wp-content/uploads/2016/09/05-ColorDialog-C-Sharp-420x238.png 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2016/09/05-ColorDialog-C-Sharp-174x98.png 174w" sizes="auto, (max-width: 550px) 100vw, 550px" /></p>
<p>4 &#8211; Clique em OK na caixa de diálogo de cor e verifique que a formatação desejada foi aplicada na caixa de texto:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8173" title="Alterando cores com controle ColorDialog no Microsoft C#" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2016/09/06-ColorDialog-C-Sharp.png" alt="Alterando cores com controle ColorDialog no Microsoft C#" width="550" height="293" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2016/09/06-ColorDialog-C-Sharp.png 567w, https://www.bosontreinamentos.com.br/wp-content/uploads/2016/09/06-ColorDialog-C-Sharp-420x224.png 420w" sizes="auto, (max-width: 550px) 100vw, 550px" /></p>
<p>É isso aí! No próximo tutorial vamos aprender a utilizar mais controles para Windows Forms. Até!</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/csharp/curso-de-c-classe-colordialog/">Curso de C# &#8211; Classe ColorDialog &#8211; Selecionando cores em uma paleta</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/csharp/curso-de-c-classe-colordialog/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
