A voir également:
- C# surchage operateur+
- Opérateur de réseau mobile - Guide
- 0466 quel opérateur - Forum Mobile
- 0668 quel opérateur ✓ - Forum Mobile
- 0758 quel opérateur - Forum Opérateurs & Réseaux mobiles
- 0650 quel opérateur - Forum Mobile
6 réponses
Si je comprend bien, tu fais une classe qui change les int en hexadecimal et ou tu peut ajouter des int a des hexadeimal...
L'erreur vient du cast d'un hexadecimal en int, il connait pas ton hexadecimal, il fauit que tu lui disent "lorsque je te cast en int, il faut que tu donne "leChiffre" / 16" si je croit que c avec un override de la methode CompareTo qu'il faut que tu le fasse.
Cependant, si tu veut retourner ton chiffre en Hexadecimal (genre 48f2a) tu devrai faire un ToString(), car tu ne peut pas mettre de lettre dans les int (mais sa tu devrai le savoir:P)
En experant que sa t'aide
L'erreur vient du cast d'un hexadecimal en int, il connait pas ton hexadecimal, il fauit que tu lui disent "lorsque je te cast en int, il faut que tu donne "leChiffre" / 16" si je croit que c avec un override de la methode CompareTo qu'il faut que tu le fasse.
Cependant, si tu veut retourner ton chiffre en Hexadecimal (genre 48f2a) tu devrai faire un ToString(), car tu ne peut pas mettre de lettre dans les int (mais sa tu devrai le savoir:P)
En experant que sa t'aide
il ya plus d'erreur de compilation, mais rien ne s#affiche sur la console, je ne comprend pas pourquoi.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Rayan1
{
class HexNumber
{
private float num;
public HexNumber(float num)
{
this.num = num;
}
public static HexNumber operator +(HexNumber h1,int h2)
{
return new HexNumber(h1.num+h2);
}
public static HexNumber operator /(HexNumber a, HexNumber b)
{
return new HexNumber(a.num/b.num);
}
static void Main()
{
HexNumber h1 = new HexNumber(000F);
HexNumber result = h1+17;
Console.WriteLine("{0}+17={1} (={2} dezimal)", h1, result, (int)result);
Console.ReadLine();
}
public static explicit operator int(HexNumber value)
{
return (int)value.num;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Rayan1
{
class HexNumber
{
private float num;
public HexNumber(float num)
{
this.num = num;
}
public static HexNumber operator +(HexNumber h1,int h2)
{
return new HexNumber(h1.num+h2);
}
public static HexNumber operator /(HexNumber a, HexNumber b)
{
return new HexNumber(a.num/b.num);
}
static void Main()
{
HexNumber h1 = new HexNumber(000F);
HexNumber result = h1+17;
Console.WriteLine("{0}+17={1} (={2} dezimal)", h1, result, (int)result);
Console.ReadLine();
}
public static explicit operator int(HexNumber value)
{
return (int)value.num;
}
}
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question