foreach x array\_map
srs, bom dia.<br /><br />o que é mais performático, uso de foreach ou array\_map? no que diz respeito a alteração de dados de um array.<br /><br />obrigado.
<p>bom dia leandro,</p>
<p>sobre desempenho, o array\_map acaba sendo um pouco mais lento que o foreach. essa diferença acontece porque o array\_map resulta em várias chamadas de funções.</p>
<p>então é mais recomendado utilizar o foreach, mas na maioria dos casos você pode escolher baseado na sua preferência, pois apenas em maiores sistemas que essa diferença vai importar.</p>
resumindo aqui a resposta que demos em aula: essas duas são mesmo as melhores opções e o uso depende muito de qual o seu objetivo. se você quiser capturar o erro e agir sobre ele, melhor a trycatch(); nas outras situações é melhor a possibly().

nossa única outra recomendação é evitar ao máximo o us… Depende do que você está fazendo. Que você pode mudar se:


* Você precisa de mais escalabilidade ou melhor desempenho - dizer do SQLite para o SQL Server ou Oracle.
* Você precisa ter acesso a tipos de dados mais específicos.
* Você precisa apoiar um cliente que só funciona um banco de dados específico.
* Você precisa de ferramentas melhores DBA.
* Seu aplicativo está usando uma plataforma diferente, onde o seu banco de dados não funciona, ou é bibliotecas não funcionam.


Há muitas mais razões para mudar e tudo depende de suas necessidades. a função switch possui algumas diferenças em relação à função if, mas ambas são funções de comparação. e é correto afirmar que a diferença entre elas é a capacidade de apenas testar igualdades. a estrutura do switch pode ser melhor analisada a seguir:\switchem cada um dos cases, só é aceito um valor ou, até mesmo, uma string. a comparação sempre será uma comparação de igualdade entre o valor de referência e o valor de cada case. já a função if permite fazer comparações lógicas com uma lógica booleana. a estrutura do if pode ser melhor analisada a seguir:\if <ul> <li>permite que você escreva códigos/use métodos de biblioteca que sejam seguros para o tipo, ou seja, uma lista &lt;string&gt; é garantida como uma lista de strings.</li> <li>como o uso de genéricos, o compilador pode executar verificações em tempo de compilação do código para segurança de tipo, ou seja, você está tentando inserir um int nessa lista de cadeias? usar um arraylist causaria um erro de tempo de execução menos transparente.</li> <li>mais rápido do que usar objetos, pois evita boxe/unboxing (onde .net precisa converter <a href="https://stackoverflow.com/questions/5057267/what-is-the-difference-between-a-reference-type-and-value-type-in-c">tipos de valor para tipos de referência ou vice-versa</a> ) ou converter objetos para o tipo de referência necessário.</li> <li>permite escrever código aplicável a muitos tipos com o mesmo comportamento subjacente, ou seja, um dictionary &lt;string, int&gt; usa o mesmo código subjacente que um dictionary &lt;datetime, double&gt;; usando genéricos, a equipe de estrutura precisou escrever apenas um trecho de código para alcançar os dois resultados com as vantagens mencionadas acima.</li> </ul> os arquivos permitem gravar os dados de um programa de forma permanente em mídia digital.

vantagens de utilizar arquivos

armazenamento permanente de dados: as informações permanecem disponíveis mesmo que o programa que as gravou tenha sido encerrado, ou seja, podem ser consultadas a qualquer momento.
grande quantidade dados pode ser armazenada: a quantidade de dados que pode ser armazenada depende apenas da capacidade disponível da mídia de armazenamento. normalmente a capacidade da mídia é muito maior do que a capacidade disponível na memória ram.
acesso concorrente: vários programas podem acessar um arquivo de forma concorrente.
a linguagem c trata os arquivos como uma sequência de bytes. esta sequência pode ser manipulada de várias formas e para tanto, existem funções em c para criar, ler e escrever o conteúdo de arquivos independente de quais sejam os dados armazenados.

em c, o arquivo é manipulado através de um ponteiro especial para o arquivo.

a função deste ponteiro é “apontar” a localização de um registro.

sintaxe:
file < *ponteiro >

o tipo file está definido na biblioteca stdio.h.

exemplo de declaração de um ponteiro para arquivo em c:

file *pont\_arq;

lembrando que file deve ser escrito em letras maiúsculas. se você vai escolher um para estudar, de fato o phonegap é uma ótima escolha, principalmente se você já tem conhecimento da parte de front-end (html, css e javascript).já o xamarin é muito indicado ... arraylist::new é uma referência ao construtor da classe arraylist, essa sintaxe é chamada de method reference. 
existem quatro tipos de method reference: 


referência à um método estático de uma classe: 
nomedaclasse::nomedometodoestatico 


referência à um método de instância de uma classe: 
nomed… <p>o último parâmetro no <code>angular.foreach</code> (veja <a href="http://docs.angularjs.org/api/angular.foreach">http://docs.angularjs.org/api/angular.foreach</a> ) a função é o contexto para <code>this</code>. então você vai querer algo assim:</p><pre><code>app.service('myservice', function() { this.list = []; this.execute = function() { //this.list is reachable here angular.foreach(anarrayhere, function(val, key) { //access this.list }, this); } } </code></pre> <p>eu já vi menus radiais algumas vezes. eu testei um complemento do firefox que organizava o menu contextual em um círculo. também foi usado em alguns jogos de computador (temple of elemental evil vem à mente quando penso nisso). de alguma forma, não funcionou.</p><ul> <li>é muito mais fácil digitalizar uma lista de opções (seus olhos se movem de cima para baixo) do que as opções dispostas em círculo (seus olhos devem se mover em várias direções).</li> <li>nem todas as opções são iguais. alguns são mais importantes ou usados ​​com mais frequência (devem estar mais próximos do ponteiro do mouse, de acordo com a lei de fitz) do que outros.</li> <li>você realmente tem um problema com itens e subitens mais longos. o jogo que mencionei anteriormente conseguiu lidar com isso muito bem visualmente, girando todas as opções em torno do ponto central. o problema é que, quando há mais opções, você precisa ler algumas delas de baixo para cima, outras da esquerda para a direita e o restante vai de cima para baixo.</li> </ul><p>acho que os menus contextuais radiais podem funcionar em situações específicas (baixo número de opções, itens podem ser representados como ícones sem texto, etc.). mas geralmente não são realmente uma boa ideia.</p> quando você concatena duas strings, uma nova variável é criada na memória e a anterior é descartada. dessa forma, se você fizer várias concatenações em uma string, vários espaços na memória serão util...