es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo controlar la igualdad de múltiples tuplas?

Imports System

Class RGB
Public Shared ReadOnly Dim Red As New RGB(255, 0, 0)
Public Shared ReadOnly Dim Green As New RGB(0, 255, 0)
Public Shared ReadOnly Dim Blue As New RGB(0, 0, 255)

Private R, G, B As Byte

Sub New(ByVal R As Byte, G As Byte, B As Byte)
    Me.R = R
    Me.G = G
    Me.B = B
End Sub

Function IsSameColorWith(ByVal OtherRGB As RGB) As Boolean
    Return Me.R = OtherRGB.R AndAlso Me.G = OtherRGB.G AndAlso Me.B = OtherRGB.B
End Function

End Class

Module MainModule
Sub Main()
Dim Color As RGB = New RGB(255, 0, 0)
Console.WriteLine(RGB.Red.IsSameColorWith(Color))
End Sub
End Module

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Con el fin de controlar la igualdad de dos tuplas en EsMismoColorQue(ByVal OtroRGB As RGB), puedes sobrescribir la función Equals en la clase RGB. Esto te permitirá comparar múltiples tuplas y controlar la igualdad de los valores RGB.

    Aquí hay un ejemplo de cómo se puede hacer esto:

    “`vb.net
    Class RGB
    Public Shared ReadOnly Dim Rojo As New RGB(255, 0, 0)
    Public Shared ReadOnly Dim Verde As New RGB(0, 255, 0)
    Public Shared ReadOnly Dim Azul As New RGB(0, 0, 255)

    Private R, G, B As Byte

    Sub New(ByVal R As Byte, G As Byte, B As Byte)
    Me.R = R
    Me.G = G
    Me.B = B
    End Sub

    Public Overrides Function Equals(ByVal obj As Object) As Boolean
    If obj Is Nothing OrElse Not Me.GetType() Is obj.GetType() Then
    Return False
    Else
    Dim otroRGB As RGB = DirectCast(obj, RGB)
    Return Me.R = otroRGB.R AndAlso Me.G = otroRGB.G AndAlso Me.B = otroRGB.B
    End If
    End Function

    End Class


    En esta clase RGB actualizada, hemos agregado una `sobrescritura` de la función `Equals`. Esto nos permite comparar múltiples tuplas y controlar la igualdad de los valores de color RGB. En la función `EsMismoColorQue`, ahora podemos simplemente usar la función `Equals` para comparar los objetos RGB: ```vb.net Function EsMismoColorQue(ByVal OtroRGB As RGB) As Boolean Return Me.Equals(OtroRGB) End Function

    Ahora podemos controlar la igualdad de múltiples tuplas y comparar colores RGB usando la función Equals.

Comments are closed.