Re-write Conditional Logic That Involves Checking Three Nullable(Of T) Values In An Equality Operator Overload?

Jan 28, 2011

So I'm writing the equality operator overload (Operator =())for a custom object, and the resulting mess of If conditionals is just an eyesore. But so far, it seems like the only sane way to check the values to as to match the specific behavior of this object.

The rules are:Num1 is required, period, and both the left and right operands and must be equal for True. Else, False.Num2 is optional, but if specified, must be present for both the left and right operands, and must be equal for True. Else, False.Num3 is optional, but can only be specified if Num2 is also present. Else, False.Num3, if specified, must be present for both the left and right operands, and must be equal for True. Else, False.

[Code]..

I also know that I could cache elements of the checks into booleans and then use those to reduce the amount of text. But that seems like a waste of cycles just for code readability. So I wanted to know if the SO community had better thoughts on reorganizing it, just in case I'm being too verbose with my checks.

View 1 Replies


ADVERTISEMENT

Lamdba Expression, Use Assignment Operator Instead Of Equality?

Oct 27, 2010

I have a method that takes an System.Action, this is what I'm trying to feed it:Function() Me._existingImports = Me.GetImportedAds()

The thing is that it complains about the = sign since it thinks I'm trying to do a comparison, which I'm not. I want to assign the Me._existingImports the value of Me.GetImportedAds(), but VB.NET complains about DataTable not having a = operator.

How can I force it to use the assignment operator instead of the equality operator?

In C# this works perfectly fine: () => this.existingImports = this.GetImportedAds()

For now the solution will be to use a standalone method, but that's way more code than needed.

View 1 Replies

Asp.net - Checking The Equality Of Two Doubles In .NET?

Aug 5, 2010

I've got a heavily used web application that, for the first time in 2 years, failed doing an equality check on two doubles using the equality function a colleague said he'd also been using for years. The goal of the function I'm about to paste in here is to compare two double values to 4 digits of precision and return the comparison results. For the sake of illustration, my values are:

Dim double1 As Double = 0.14625000000000002 ' The result of a calculation
Dim double2 As Double = 0.14625 ' A value that was looked up in a DB

If I pass them into this function:

Public Shared Function AreEqual(ByVal double1 As Double, ByVal double2 As Double) As Boolean
Return (CType(double1 * 10000, Long) = CType(double2 * 10000, Long))
End Function

the comparison fails. After the multiplication and cast to Long, the comparison ends up being:

Return 1463 = 1462

I'm kind of answering my own question here, but I can see that double1 is within the precision of a double (17 digits) and the cast is working correctly. My first real question is: If I change the line above to the following, why does it work correctly (returns True)?

Return (CType(CType(double1, Decimal) * 10000, Long) = _
CType(CType(double2, Decimal) * 10000, Long))

Doesn't Decimal have even more precision, thus the cast to Long should still be 1463, and the comparison return False? I think I'm having a brain fart on this stuff...Secondly, if one were to change this function to make the comparison I'm looking for more accurate or less error prone, would you recommend changing it to something much simpler? For example:

Return (Math.Abs(double1 - double2) < 0.0001)

Would I be to try something like:

Return (double1.ToString("N5").Equals(double2.ToString("N5")))

View 3 Replies

Coalesce Operator And Conditional Operator In .NET?

Mar 10, 2009

Possible Duplicate: Is there a conditional ternary operator in VB.NET?

Can we use Coalesce operator(??) and conditional ternary operator(:) in VB.NET as in C#?

View 5 Replies

Using Images With Conditional Logic?

Apr 5, 2009

I want to be able to call forth hundreds of different photos be selecting them from a listbox or something of that nature.

Normally, if I only had a few images, I would amke their visibility false and then use If statements to turn on their visibility once it is selected. However, putting hundreds of images on to a form and then changing their visibility, seems like a pain.

I was wondering if there is a way to call forth each photo within the resources folder when an item is clicked so I don't have to put each one directly on the form.

View 5 Replies

Asp.net :: Conditional Logic Inside Repeater Control?

Jun 11, 2012

In ASP.NET, using VB, how can i do this on the page itself, not in the code behind? [code]

View 3 Replies

C# :: Conditional Logic For Gridview ItemTemplate (using Mark Up Only)?

May 30, 2012

I have a gridview as shown below. When the EmpType is contract the EmpID must be masked as "XXX"; for regular employees, actual EmpID should be shown. Also, when it is masked, I need to add a button control in the EmpID column.I need to do it using mark-up; not using code behind. How can we write the conditional logic for Gridview's ItemTemplate for this logic?Note: .Net 4.0

<asp:GridView ID="Gridview1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField HeaderText="AssociateID" DataField="AssociateID" />

[code].....

View 2 Replies

VS 2005 - Overload An Operator ?

May 25, 2009

I recently got a vb book, and the operator overloading sample is quite confusing. understanding why you need to overload an operator, and what's the simplest example?

View 7 Replies

Is There A Conditional Ternary Operator

Feb 23, 2009

In Perl (and other languages) a conditional ternary operator can be expressed like this:my $foo = $bar = $buz ? $cat : $dog;Is there a similar operator in VB.NET?

View 2 Replies

CodeDom To Generate Operator Overload?

Jan 10, 2011

Is there a way to use CodeDom to generate an overloaded operator in Vb.net? I want to generate this:

Public Shared Operator =(ByVal x As MyType, ByVal y As MyType) As Boolean
Return x Is y
End Operator

The closest hack I can think of to do this the following:

Dim eq As New CodeMemberMethod()
eq.Name = "Operator ="
eq.Parameters.Add(New CodeParameterDeclarationExpression(New CodeTypeReference("MyType"), "x"))[code]....

Which generates this, close but obviously wrong:

Public Shared Function Operator =(ByVal x As MyType, ByVal y As MyType) As Boolean
Return (x Is y)
End Function

View 1 Replies

Nullable DateTime And Ternary Operator?

Nov 15, 2010

I'm having problems with a Nullable DateTime in VB.NET (VS 2010).

Method 1
If String.IsNullOrEmpty(LastCalibrationDateTextBox.Text) Then
gauge.LastCalibrationDate = Nothing

[code].....

View 2 Replies

If Statement - Testing Multiple Values For Equality?

Mar 26, 2009

How do you test multiple values for equality in one line?
Basically I want to do
if (val1 == val2 == val3 == ... valN)
but in VB.Net.

View 3 Replies

Assign A Value To A Nullable Integer Via A Ternary Operator?

Aug 24, 2011

dim val1 As Integer? = If(5 > 2, Nothing, 43)' val1 = 0 dim val1 As Integer? = If(5 > 2, Nothing, Nothing)' val1 = Nothing What gives? Is this a bug, or am I overlooking something?

View 1 Replies

Setting Nullable Type With IF Operator Failing?

May 27, 2009

Why does this give variable A the value of zero (instead of setting it to nothing)?Dim A as double? A=If(2<3, Nothing, 6)

View 11 Replies

Why Does The Ternary Operator Accept A Nullable Boolean

Oct 6, 2011

The following compiles in VB.NET (with Option Strict On) and outputs False:[code]Why does that work?The documentation clearly states that the three-argument version of If requires a Boolean as the first parameter:[code]So, why does this work? Is it a bug (or "hidden feature") in the compiler or is it a bug in the documentation and Boolean? is actually a valid type for the first argument of If(a, b, c)?In C#, b ? x : y does not compile if b is of type bool?.I've reported this issue to Microsoft Connect. Someone from MS has replied and confirmed that the documentation will be updated to include the Boolean? case.

View 4 Replies

Conditional Checking Of An Image?

Mar 28, 2011

imgTitle.Image = My.Resources.title
If imgTitle.Image Is My.Resources.title Then
MsgBox("Success")
Else

[code]....

View 1 Replies

Assign A Value To Nullable Integer Via A Ternary Operator / It Can't Become Null

Apr 19, 2012

If you assign a value to a nullable integer via a ternary operator, it can't become null..While this question may seem like a duplicate of many, it is actually being asked for a specific reason.Take this code, for example: Dim n As Integer? = If(True, Nothing, 1) In that code, the ternary expression should be returning Nothing, but it's setting n to 0. If this were C#, I could say default(int?) and it would work perfectly. Now it looks like I am going to have to ditch the ternary and use a regular If block, but I really want to use the ternary. If Nothing were truly VB.NET's equivalent to C#'s default, how can you explain this behavior?

View 1 Replies

Assigning Result Of If Operator To System.Nullable Type

Aug 30, 2011

When using the If operator [URL] to assign a value to a System.Nullable object, if the result is Nothing (null), then 0 is assigned to the object. Example: 'Expected value is null (Nothing). Actual value assigned is 0. Dim x As System.Nullable(Of Integer) = If(1 = 0, 1, Nothing) If x is a nullable type, why is it being assigned the default integer type of 0. Shouldn't it receive a value of null?

View 2 Replies

Conditional Code Checking In A Card Game?

Jul 16, 2011

I have conditional code checking in a card game Im working on and it just feels wrong.I m looking for a better way.Right now, all my functions return a card. If I get a card Im usually done and can fall out of my nested structure.If I dont get a card I have to test a condition If card is nothing.And this condition gets repeated ad-nauseum.Here is a small sample of the code.

card = FindMaxTrump(playableCards)
If Not card Is Nothing Then
'If we found a trump at all[code]....

This might be a fine way to do it, but the constant check for a null card is what has me wondering if there is a better approach I'm missing.

View 2 Replies

Include Conditional Checking In Query With LINQ To SQL?

Aug 20, 2010

Table relationship[code]...

There are some TimeSheet that have no TimeRecord, which I need to select as well. How can I select all of them to make selection like above wanted result? I'm thinking of how I can include some condtion checking in the query to see if this TimeSheet has no TimeRecord then no need to Sum(tr.BonusHour) just assign TotalHour to zero.

View 1 Replies

Logic For Checking A Boolean Of An Object?

Mar 7, 2012

I have a hashset (of posdata), pos data containing a boolean and a label containing the hashkey. I need to draw up a condtion where it will check that if a boolean for two or three different records does not equal to false. And if the condition is true i want to set the boolean of the two or three records to false. Here is an attempt,

ElseIf (position.strLabel = "b2" And position.blnAvail <> False) And (position.strLabel = "b1" And position.blnAvail <> False) And (position.strLabel = "e1" And position.blnAvail <> False) Then

[Code]....

View 1 Replies

Song Logic For Checking If A Number Is In An Array?

Mar 2, 2011

i have a function to check if a number is in an array. and if its not in an array the function returns false.if it returns false i want to insert the number into the next slot of array3. here is the code i have so far.

[Code]...

View 1 Replies

Reflection - .NET: Checking If Variable Is Of Guid (nullable) Type?

Jan 16, 2012

I'm trying to check if a variable has been defined as a nullable Guid. eg.

Dim myGuid As Nullable(Of Guid) or Dim myGuid As Guid?

It seems doing a myGuid.GetType returns the underlying type, that is type Guid, not Guid?. So testing myGuid.GetType Is GetType(Guid?) always returns False.How do I find out if myGuid is a nullable type?

Ed: I can do the following, which correctly returns True for "Guid?" and False for "Guid":

Not Nullable.GetUnderlyingType(GetType(Guid?)) Is Nothing

The problem is that I don't know how to retrieve the nullable type from the variable itself, in order to test it. I've only been able to get the underlying (non-nullable) system type.

I've written a db helper function. I pass it an object comprised of public members, representing the row data of a table. The members are the table columns.Using reflection, I loop through these public members to create an INSERT statement for a command object and populate its parameters with the values in those members. So far so good.But now there's a table which has a uniqueidentifier column which I must not populate from the row object, as it defaults to "NEWID()" (using SQL Server 2008). Instead of skipping all Guid columns, which would be easy, I only want to skip ones defined in the row data class as "Guid" (non-nullable).Basically, I'm using the Guid? (Nullable) type to indicate it's ok to populate that uniqueidentifier column with data. If it's non-nullable, that tells me to skip it because the column has a NEWID() default value.

View 3 Replies

Overload The Operator() Aka "function Call" As OdbcDataReader ?

Mar 5, 2009

I think it is possible to overload the operator() aka "function call" as OdbcDataReader uses it. using OdbcDataReader("myField") is the same as using OdbcDataReader.Item("myField"), I want to be able to do that for my own class, is this possible, how? I've been trying with overloaded operators but no success.

View 4 Replies

Write Conditional Code To Provide The Access To Other Nine Users?

Jun 22, 2012

I would like to give permission to use this project to say, 10 users. The following code is fine for a single user. How can I write conditional code to provide the access to other nine users?

Submit button

If txtUsername.Text <> "Mahajan" Or txtPassword.Text <> "mh745" Then
MsgBox "Access Denied! Either Username or Password is incorrect!", vbOKOnly + vbCritical, "Security Login"
txtUsername.Text = ""
txtPassword.Text = ""

[code]....

View 5 Replies

C# :: Does One Still Write Tests With TDD When The Desired Code Has Little To No Logic

Feb 10, 2011

TDD is supposed to have 100% code coverage. Does this mean one is supposed to write tests for property getter and setters, and other methods that contain no real logic, such as dealing with external API functionality? Below is one example method (which happens to also be the example in this other SO question which deals with how best to test it, if we are going to test it). This method doesn't do much. It's a facade of theSystem.ServiceProcess.ServiceController functionality of stopping a service. Currently this code was not being written using TDD, but if it was, would it be something that one should test? There is very little logic here.est to test it (IoC & Adapter Pattern vs. Detouring) please see this other SO question.

Public Function StopService(ByVal serviceName As String, ByVal timeoutMilliseconds As Double) As Boolean Implements IWindowsServicesService.StopService
Try

[code].....

View 3 Replies

Select Statement With Conditional Values?

Dec 13, 2010

Is there a way to do a select statement with conditional values?

For example: select * from table where column1 = (ifequals(column1, Active, Y, N))

View 9 Replies

Use Coalesce With Db Column Values And Nullable Types?

Dec 8, 2011

I'm trying to do something similar to what's described here, but with nullable types.

[URL]

int availableUnits = unitsInStock ?? 0;

In VB, it would be this:

Dim availableUnits As Int32 = If(unitsInStock, 0)

However I'm working with db columns, which could be DbNull, and nullable types, which can be Nothing (which is different to DbNull). If a column is DbNull, I want to return Nothing, otherwise return the value. For eg:

Dim availableUnits As Int32? = If(myDataReader("UnitsInStock").Value, Nothing)

The error I'm getting is "Specified cast is not valid" but I'm not sure why. I've tried this as well:

Dim availableUnits As Int32? = If(isDbNull(myDataReader("UnitsInStock").Value), myDataReader("UnitsInStock").Value, Nothing)

Which is messy and just results in the same error. The only thing that works is this:

Dim availableUnits As Int32?
If isDbNull(myDataReader("UnitsInStock").Value) Then
availableUnits = myDataReader("UnitsInStock").Value
Else
availableUnits = Nothing
End If

Which is just silly. Is there a better way of getting nullable db values into nullable variables that I'm not aware of?

View 3 Replies

Overload Operator In Generic Class With Generic Interface Of Super Class And Inherit Class?

Jan 21, 2010

I can do this without problem.

Class A
End Class
Class B : Inherit A
End Class
Dim Obj1 As A = New B

View 4 Replies

Coding Style :: Write 2 Statements That Differ Just By Operator Type?

Apr 19, 2010

I have the following code sample, where the only difference between the 2 parts of the If statement is the less than/greater than operators.Is there a better way to write this?Could almost do with being able to define an Operator variable.

If myVar = true Then
Do While (X < Y)
'the values of X and Y will change within this loop

[code].....

View 4 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved