J'ai travaillé sur un devoir et je suis débutant en C#. Je dois implémenter un programme similaire à ce que BigInt peut faire: effectuer une addition, une soustraction ou une multiplication avec deux valeurs absurdement grandes (sans réellement utiliser la bibliothèque BigInt). On m'a dit d'utiliser CompareTo et que cela faciliterait la création des méthodes add, subtract et multiply, mais je n'ai aucune idée de la façon d'implémenter CompareTo. Je ne sais même pas si ma classe est correctement mise en œuvre ou s'il me manque quelque chose d'important. Voici mon code:C# - Classe qui utilise ILists pour stocker d'énormes entiers sans BigInt. Je n'arrive pas à comprendre comment utiliser CompareTo et Int.TryParse à +, -, et * deux Listes
public class HugeInt
{
char sign;
public IList<int> theInt = new List<int>();
public string ToString(IList<int> theInt)
{
string bigInt = theInt.ToString();
return bigInt;
}
public HugeInt CompareTo(HugeInt num1)
{
int numParse;
string number = ToString(theInt); /// I did this to convert the List into a string
for(int i = 0; i < number.Length; i++)
{
bool temp = Int32.TryParse(number, out numParse); /// Supposed to change each index of the string to a separate integer (not sure how to properly do this)
/// These are *supposed to* perform operations on two HugeInts ///
num1.plus(numParse, num1);
num1.minus(numParse, num1);
num1.times(numParse, num1);
}
return num1;
}
Je ne suis pas ici pour demander toutes les réponses à cette mission, je viens de travailler sur ce depuis des heures et ne peut pas comprendre ce que je fais faux - j'ai déjà fait beaucoup de recherche google. Merci d'avance pour tous conseils et aide!
CompareTo est utilisé pour comparer des objets. Qu'est-ce que '' '' InfInt'''? Vous devez créer des méthodes pour effectuer des opérations plus/moins/fois. – Shoter
Mes excuses, InfInt était le nom original de la classe, mais je l'ai changé pour HugeInt pour ce poste pour plus de clarté et a manqué un! Ma tâche est de comparer deux HugeInts et d'obtenir une valeur pour la distance entre eux, mais ce sont des listes que j'ai converties en chaînes et j'ai besoin de les analyser pour les transformer en entiers séparés. Dois-je passer deux HugeInts? Le CompareTo est où je suis bloqué pour le moment, je peux créer les méthodes plus/moins/temps après que je comprenne cela. Merci d'avance pour votre aide! – GrilledTaco
Ma conjecture est que vous pourriez avoir été invité à utiliser 'IComparable' qui a une méthode nommée' CompareTo', je vous suggère de lire cet article et de modifier votre code en conséquence https://msdn.microsoft.com/fr-fr/ library/system.icomparable.compareto (v = vs.110) .aspx – Jaya