Articles of c # 3.0

Como iterar pelo dictionary e alterar os valores?

Dictionary myDict = new Dictionary(); //… foreach (KeyValuePair kvp in myDict) { kvp.Value = Math.Round(kvp.Value, 3); } Eu recebo um erro: “Propriedade ou indexador ‘System.Collections.Generic.KeyValuePair.Value’ não pode ser atribuído a – é somente leitura.” Como posso iterar pelo myDict e alterar valores?

Em C #, como posso saber o tipo de arquivo de um byte ?

Eu tenho uma matriz de bytes preenchida de um arquivo enviado. Mas, em outra parte do código, eu preciso saber esse tipo de arquivo carregado do byte [] para que eu possa renderizar o tipo de conteúdo correto para o navegador! Obrigado!!

Ao usar inicializadores de objects, por que o compilador gera uma variável local extra?

Ao responder a uma pergunta sobre o SO ontem, percebi que, se um object é inicializado usando um Inicializador de object, o compilador cria uma variável local extra. Considere o seguinte código C # 3.0, compilado no modo de versão no VS2008: public class Class1 { public string Foo { get; set; } } public […]

Convertendo inteiros em algarismos romanos

Estou tentando escrever uma function que converte números em numerais romanos. Este é o meu código até agora; no entanto, ele só funciona com números menores que 400. Existe uma maneira rápida e fácil de fazer essa conversão ou estender meu código existente para que ele lide com todos os casos? Agradecemos antecipadamente por qualquer […]

Técnica de fila rápida e melhor produtor / consumidor BlockingCollection vs fila simultânea

Estou usando Generic.Queue no C # 3.0 e Monitor.Enter, espere, saia para aguardar antes de consumir a fila (aguarde o elemento ser enfileirado). Agora estou me movendo para C # 4. Alguém pode me sugerir qual é o melhor e mais rápido, especialmente para evitar bloqueios .. BlockingCollection vs concorrentialQueue ou qualquer outra coisa … […]

Os methods de extensão exigem que a class declaradora seja estática

Por que os methods de extensão exigem que a class declaradora seja estática? É um requisito de compilador?

Delegado funcional com variável ref

public object MethodName(ref float y) { //method } Como eu defini um delegado Func para este método?

Como cancelar a assinatura de um evento que usa uma expressão lambda?

Eu tenho o seguinte código para deixar a interface gráfica responder a uma alteração na coleção. myObservableCollection.CollectionChanged += ((sender, e) => UpdateMyUI()); Primeiro de tudo, isso é uma boa maneira de fazer isso? Segundo: qual é o código para cancelar a inscrição deste evento? É o mesmo, mas com – = (e, em seguida, o […]

Qual tarefa é melhor executada em um estilo de functional programming?

Acabei de descobrir recentemente o estilo de functional programming e estou convencido de que isso reduzirá os esforços de desenvolvimento, tornará o código mais fácil de ler, tornará o software mais sustentável. No entanto, o problema é que eu não consegui convencer ninguém. Bem, recentemente eu tive a chance de dar uma palestra sobre como […]

Listar readonly com um conjunto privado

Como posso expor uma List para que seja somente leitura, mas pode ser definida de forma privada? Isso não funciona: public List myList {readonly get; private set; } Mesmo se você fizer: public List myList {get; private set; } Você ainda pode fazer isso: myList.Add(“TEST”); //This should not be allowed Eu acho que você poderia […]