Articles of conversão de tipo

C # – Convertendo um float para um int… e alterando o int dependendo do restante

Esta é provavelmente uma questão realmente newbie (bem, eu tenho certeza que é), mas eu tenho um float que está sendo retornado e eu preciso de uma maneira rápida e eficiente de transformá-lo em um int . Muito simples, mas tenho uma exceção. Se o resto do float é diferente de 0., então eu quero […]

C # conversões implícitas e operador ==

Algum código para contexto: class a { } class b { public aa{get;set;} public static implicit operator a(bb) { return ba; } } aa=null; bb=null; a = b; //compiler: cannot apply operator ‘==’ to operands of type tralala… bool c = a == b; É possível usar o operador == em instâncias de tipos diferentes, […]

estendendo Convert.ChangeType para produzir tipos definidos pelo usuário sob solicitação

Dada a class: public class Foo { public string Name { get; set; } } É possível ter uma instância Foo criada a partir de uma string através de Convert.ChangeType: Type type = typeof(Foo); object value = “one”; value = System.Convert.ChangeType(value, type); É assim que uma API de terceiros está tentando reconstruir objects. Alguém mencionou […]

Não é possível atribuir um delegado de um tipo a outro, mesmo que a assinatura corresponda

Minha curiosidade mórbida me faz pensar porque o seguinte falha: // declared somewhere public delegate int BinaryOperation(int a, int b); // … in a method body Func addThem = (x, y) => x + y; BinaryOperation b1 = addThem; // doesn’t compile, and casting doesn’t compile BinaryOperation b2 = (x, y) => x + y; […]

Como pesquisar e invocar um TypeConverter .Net para um tipo específico?

Eu gostaria de implementar uma function de conversão de tipo de tempo de execução geral que faz uso de .Net TypeConverters para fazer a conversão. Alguém sabe como procurar e invocar um TypeConverter para um determinado tipo? Considere este exemplo em C #: // // Convert obj to the type specified by ‘toType’. // object […]

Digite resultado com o operador condicional em c #

Eu estou tentando usar o operador condicional, mas estou ficando preso no tipo que ele acha que o resultado deveria ser. Abaixo está um exemplo que eu planejei para mostrar o problema que estou tendo: class Program { public static void OutputDateTime(DateTime? datetime) { Console.WriteLine(datetime); } public static bool IsDateTimeHappy(DateTime datetime) { if (DateTime.Compare(datetime, DateTime.Parse(“1/1”)) […]

TypeConverter vs. Convert vs. TargetType.Parse

Até onde sei, existem pelo menos 3 maneiras de converter tipos de dados no .NET: using System.ComponentModel.TypeConverter var conv = System.ComponentModel.TypeDescriptor.GetConverter(typeof(int)); var i1 = (int)conv.ConvertFrom(“123”); using System.Convert.ChangeType () : var i2 = (int) Convert.ChangeType(“123”, typeof (int)); Usando os methods Parse / TryParse do tipo de destino: var i3 = int.Parse(“123”); // or TryParse Há alguma […]

Existe uma tentativa Convert.ToInt32… evitando exceções

Gostaria de saber se existe uma maneira “segura” de converter um object em um int, evitando exceções. Eu estou procurando algo como bool estático público TryToInt32 (valor do object, out int resultado); Eu sei que poderia fazer algo assim: public static bool TryToInt32(object value, out int result) { try { result = Convert.ToInt32(value); return true; […]

Convertendo object de uma class para outra

Eu tenho duas classs que são quase iguais, exceto os tipos de dados armazenados neles. Uma class contém todos os valores duplos, enquanto outros contém todos os valores flutuantes. class DoubleClass { double X; double Y; double Z; } class FloatClass { float X; float Y; float Z; } Agora eu tenho um ponto de […]

Convert.ToBoolean falha com valor “0”

Eu estou tentando converter o valor “0” ( System.String ) para sua representação Boolean , como: var myValue = Convert.ToBoolean(“0”); // throwing an exception here Eu olhei na página do MSDN , e no bloco de amostra de código, encontrei estas linhas: ConvertToBoolean(“0”); // … Unable to convert ‘0’ to a Boolean. No meu código, […]