Como somar valores de uma string com C#

Eu precisei de um modo simples de somar valores de uma string e encontrei esse método mastigado no stackoverflow, tive de compartilhar…

using System;
public class Script
{
	public static string TransformaConteudo(TransformationArguments args)
	{
		try
		{
			Double result = Eval(args.Content);
			return result.ToString();
		}
		catch(Exception exp)
		{
			args.WriteDebug("NOME_DO_CAMPO error: " + exp.Message);
			return "";
		}
	}
	static Double Eval(String expression)
	{
		System.Data.DataTable table = new System.Data.DataTable();
		return Convert.ToDouble(table.Compute(expression, String.Empty));
	}
}

fonte: https://stackoverflow.com/questions/6052640/in-c-sharp-is-there-an-eval-function

Anúncios

Obtendo o conteúdo do protocolo HEAD

Eu tive dificuldades para encontrar material que me trouxesse o valor de um cabeçalho de um arquivo, assim resolvi compartilhar o que consegui.

using System;
using System.Net;
public static string Retorno ()
{
    try{
        HttpWebRequest request = (HttpWebRequest) WebRequest.Create("http://www.elivros-gratis.net/scripts/download.asp?SEC=14&FL=Franz-Kafka- Metamorfose.zip&NOME=A%20Metamorfose&AUTOR=Franz%20Kafka");
        HttpWebResponse response = (HttpWebResponse) request.GetResponse();

        return response.Headers.ToString();
        //PEGAR URL DO ARQUIVO: return response.ResponseUri.ToString();
    } catch(Exception exp)
    {
        args.WriteDebug("ERRO: " + exp.Message);
        return "";
    }
}

Inserindo quebra de linha em um texto com C#

Eventualmente eu preciso do código abaixo para colocar quebra em um texto corrido que encontro, acho que pode ser útil pra mais alguém, por isso resolvi postar.

using System;
using System.Text.RegularExpressions;
using VisualWebRipper.Internal.SimpleHtmlParser;
using VisualWebRipper;
public class Script
{
	public static string InsereQuebra(string TEXTO_GRANDE)
	{
		try
		{	
			//obtendo o texto passado no parametro
			string texto = TEXTO_GRANDE;
			//substituindo qq tipo de aspas por apóstrofe
			texto = Regex.Replace(texto, @"[\u2018\u2019\u201a\u201b\u0022\u201c\u201d\u201e\u201f\u301d\u301e\u301f]", "'", RegexOptions.IgnoreCase);
			//removendo linhas em branco
			texto = Regex.Replace(texto, @"\s+\n", "\n", RegexOptions.IgnoreCase);
			//removendo espaços em branco no começo e no fim do texto
			texto = texto.Trim();
			//declarando variáveis de controle			
			int espaco = 0;
			int indice = 0;
			int inc = 0;
			
			Match m = Regex.Match(texto, "\n", RegexOptions.IgnoreCase);
			int QTDE_ESPACO = 120;
			if(!m.Success){
				//removendo espaços em branco
				texto = Regex.Replace(texto, @"\s\s+", " ");
				foreach(char c in texto) 
				{	indice++;
					if(char.IsWhiteSpace(c)) 
					{	
						espaco++;
						//Com 120 espacos os paragrafos ficam com cerca de 5 linhas
						if(espaco % QTDE_ESPACO == 0){
							texto = texto.Insert(indice + inc, "\n");
							inc++;	
						}
					}
				}
			}
			return texto;
		}
		catch(Exception exp)
		{
			return "";
		}
	}
}

Removendo aspas duplas e aspas inglesas de um texto com C#

O código a seguir usa Regex (using System.Text.RegularExpressions) para remover aspas duplas(“) e aspas inglesas (“ ”) e mais algumas aspas de uma string.

return Regex.Replace(string,@"[\u2018\u2019\u201a\u201b\u0022\u201c\u201d\u201e\u201f\u301d\u301e\u301f]","");

Você também pode substituir por aspas simples se for necessário