public static int Comparar(Dato dato1, Dato dato2) { /* Retorna 0 si los datos son iguales Retorna -1 si el dato1 es menor que el dato2 Retorna 1 si el dato1 es mayor que el dato2 Retorna 2 si ocurre un error En caso de los atributos retorna 0 si son iguales y -1 si son diferentes no hay orden lexicografico */ if(dato1.getTipoDato() == dato2.getTipoDato()) { if(dato1.getTipoDato() == Dato.ATRIBUTO) { if (dato1.getDatoString().Equals(dato2.getDatoString(),StringComparison.InvariantCultureIgnoreCase)) return 0;//Datos iguales else return -1;//Datos diferentes } else if(dato1.getTipoDato() == Dato.TEXTO) { return String.Compare(dato1.getDatoString(),dato2.getDatoString()); } else if(dato1.getTipoDato() == Dato.NUMEROENTERO) { if(dato1.getDatoNumerico() == dato2.getDatoNumerico()) return 0; else if(dato1.getDatoNumerico() < dato2.getDatoNumerico()) return -1; else if(dato1.getDatoNumerico() > dato2.getDatoNumerico()) return 1; } else if(dato1.getTipoDato() == Dato.NUMERORACIONAL) { if(dato1.getDatoRacional() == dato2.getDatoRacional()) return 0; else if(dato1.getDatoRacional() < dato2.getDatoRacional()) return -1; else if(dato1.getDatoRacional() > dato2.getDatoRacional()) return 1; } } return 2;//retorna 2 cuando ocurre un error }
public void agregar(Dato dato) { fila.Add (dato); }
public bool Equals(Dato dato) { if(!dato.existe() || !this.existe()) return false; /*Comprobar que pasa si el dato no existe retornar verdadero o falso*/ if(this.getTipoDato() == dato.getTipoDato()) { if(dato.getTipoDato() == Dato.ATRIBUTO) { return this.getDatoString().Equals(dato.getDatoString(),StringComparison.InvariantCultureIgnoreCase); } else if(dato.getTipoDato() == Dato.TEXTO) { return this.getDatoString().Equals(dato.getDatoString()); } else if(dato.getTipoDato() == Dato.NUMEROENTERO) { if(this.getDatoNumerico() == dato.getDatoNumerico()) return true; } else if(dato.getTipoDato() == Dato.NUMERORACIONAL) { if(this.getDatoRacional() == dato.getDatoRacional()) return true; } } return false; }
public void agregar(Dato dato) { columna.Add (dato); }