Articles of casting

Por que enums exigem um casting explícito para digitar int?

Não há perda de dados ao fazer isso, então qual é a razão para ter que converter explicitamente enums para ints? Não seria mais intuitivo se fosse implícito, digamos, quando você tem um método de nível mais alto como: PerformOperation ( OperationType.Silent type ) onde PerformOperation chama um método C ++ que é exposto como […]

Diferença entre conversão e usando o método Convert.To ()

Eu tenho uma function que lança um double em valores de string de string . string variable = “5.00”; double varDouble = (double)variable; Uma alteração de código foi registrada e o projeto foi criado com o erro: System.InvalidCastException: Specified cast is not valid. No entanto, depois de fazer o seguinte … string variable = “5.00”; […]

Como posso fornecer suporte de transmissão personalizado para minha turma?

Como posso fornecer suporte para transmitir minha turma para outros tipos? Por exemplo, se eu tiver minha própria implementação de gerenciamento de um byte[] , e quiser permitir que as pessoas transfiram minha class para um byte[] , que retornará apenas o membro particular, como eu faria isso? É prática comum para deixá-los também converter […]

covariância em c #

É possível converter uma List para List no c # 4.0? Algo ao longo destas linhas: class joe : human {} List joes = GetJoes(); List humanJoes = joes; Não é para isso que a covariância é? se você puder fazer: human h = joe1 as human; por que você não deveria ser capaz de […]

C # “como” casting x casting clássico

Duplicar Possível: Casting vs usando a palavra-chave ‘as’ no CLR Eu aprendi recentemente sobre uma maneira diferente de transmitir. Em vez de usar SomeClass someObject = (SomeClass) obj; pode-se usar essa syntax: SomeClass someObject = obj as SomeClass; que parece retornar null se obj não é um SomeClass, ao invés de lançar uma exceção de […]

O valor do tipo ‘T’ não pode ser convertido para

Esta é provavelmente uma questão de principiante, mas o Google surpreendentemente não forneceu uma resposta. Eu tenho esse método bastante artificial T HowToCast(T t) { if (typeof(T) == typeof(string)) { T newT1 = “some text”; T newT2 = (string)t; } return t; } Vindo de um plano de fundo em C ++, esperava que isso […]

Por que o operador ternário elimina números inteiros inesperadamente?

Eu vi isso discutido em algum lugar que o código a seguir resulta em obj sendo um Double , mas que imprime 200.0 do lado esquerdo. Object obj = true ? new Integer(200) : new Double(0.0); System.out.println(obj); Resultado: 200,0 No entanto, se você colocar um object diferente no lado direito, por exemplo, BigDecimal , o […]

java: como posso fazer o casting dynamic de uma variável de um tipo para outro?

Eu gostaria de fazer o casting dynamic para uma variável java, o tipo de casting é armazenado em uma variável diferente. isso é casting regular: String a = (String) 5; é isso que eu quero: String theType = ‘String’; String a = (theType) 5; é possível? e se sim como? obrigado! atualizar Estou tentando preencher […]

Converter booleano em int em Java

Qual é a maneira mais aceita de converter um boolean em int em Java?

Comportamento estranho ao converter um float para int em c #

Eu tenho o seguinte código simples: int speed1 = (int)(6.2f * 10); float tmp = 6.2f * 10; int speed2 = (int)tmp; speed1 e speed2 devem ter o mesmo valor, mas na verdade eu tenho: speed1 = 61 speed2 = 62 Eu sei que provavelmente deveria usar Math.Round em vez de lançar, mas gostaria de […]