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
ADVERTISEMENT
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
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
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
Nov 10, 2010
Suppose we have a nullable value in vb.net: Dim i as Integer? We want to assign a value to it, basing on a condition, and using a ternary operator, because it's so neat and stuff: i = If(condition(), Nothing, 42) That is, if a condition is true, employ the null-ability, otherwise the value. At which point the shooting occurs. For no apparent reason VB compiler decides that the common base type for Nothing and Integer is Integer, at which point it silently translates the statement to: [Code]
View 5 Replies
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
Mar 29, 2011
I saw this in some vb.net source code:Dim sTest As String = "" & drTest("column")
I was told that if drTest("column") is nothing, then sTest will be assigned "", so it is in effect doing:
Dim sTest As String = If("",Nothing,drTest("column"))What is the downside of doing it the first way I showed?
What is the difference between using If and IIf?
View 2 Replies
Aug 20, 2011
I am looking to make this statement work in a VB.net page:
[Code]...
The ternary operator is causing a error: Compiler Error Message: BC36637: The '?' character cannot be used here. I want to use a tenary operator to display text based on the the field Inactive containing a true or false text value.
View 1 Replies
Feb 24, 2010
I'm usually reasonably good at translating C# into VB, but I'm a bit stuck partially due to the ternary operator in this function and also because I don't fully understand what is happening with the "from x in dataSource.OfType<object>() select 1).Sum()"
[code]...
View 7 Replies
Feb 26, 2010
Lambda expression with ternary operator in VB?
View 15 Replies
Mar 30, 2011
I am having a weird problem. IIf is messing up when I am working with an array. Apparently it is checking my else statement even though it isn't activated. Here is some code that demonstrates the issue:[code]
View 2 Replies
Sep 25, 2010
ive got some simple problem i cant understand how to solve.
str(1) is an array and integer(or double, tried both)
a(1) is an array and integer (or double, tried both)
a(1) = a(1) + 1
Label1.Text = str(1) + a
the big part is where i get: operator '+' is not defined for types 'integer' and '1-dimensional array of integer'.why do i get that message and what does it mean? how do i make the code do what i want?
View 1 Replies
May 9, 2012
this is for a BINGO game final project that I already turned in but this just bugged me that I could not get the sorting figured out. I am trying to get this to sort the random numbers in to columns under the correct letters but I keep getting the error Operator '>=' is not defined for types '1-dimensional array of Integer' and 'Integer' under the line:
[Code]...
View 5 Replies
Aug 3, 2010
This is giving me a headache. I have this link query here that grabs an ID
Dim mclassID = From x In db.SchoolClasses Where x.VisitDateID = _visitdateID Select x.ClassID And then later on I have this linq query
ViewData("Staff") = From t In db.Staffs Where t.ClassID = mclassID Select t
I've tried quite a few things but to no avail. I've attempted casting, converting, Is operand, etc.
View 5 Replies
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
Jan 26, 2011
I'm trying to assign a date object to nullable but my code error on CBDate1 = nullDate. The message indicates that I need to assign a value to a nullable. This is my first time using nullable[code\]...
View 9 Replies
Feb 10, 2011
I'm trying to assign a date object to nullable but my code error on CBDate1 = nullDate. The message indicates that I need to assign a value to a nullable. This is my first time using nullable.
[Code]....
View 9 Replies
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
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
Dec 7, 2010
I am trying to understand why the two code samples behave differently. I always believed the If() function to mimic the If language feature. Or am I looking at a behavior of Nullable(Of Integer) that is causing this?
Sample #1:
If Not String.IsNullOrWhiteSpace(PC.SelectedValue) Then
Dim pcFilter1 As Integer? = CInt(PC.SelectedValue)
Else
[Code]....
View 1 Replies
Dec 1, 2009
I would expect the following vb.net function to return a value of Nothing, but instead its returning a value of 0.
[Code]...
View 2 Replies
Jun 28, 2010
I wonder if this is not possible dim mystring as string="1" dim myint As Nullable(Of Integer) myint=0 myint=mystring It crashes on the last line why is that? mystring is already integer (1) , i dont have to cast using cint, i thought. option strict off- if this cause the problem
View 7 Replies
Dec 14, 2010
I've been pulling my hair out over some unexpected behavior from nullable integers.If I set an Integer to Nothing, it becomes Nothing as expected. If I set an Integer? to a String that is Nothing, it becomes 0! Of course I get this whether I explicitly cast the String to Integer? or not.[code] Previously I had my code up here so without the explicit conversion to Integer? and everyone seemed to be fixated on/confused by that. There were a lot of suggestions that Option Strict On would catch this type of thing. However, this is actually a quirk of the string-to-integer conversion rules which predate nullable types, but still impact them.
View 2 Replies
Apr 7, 2010
I have a date time picker bould to a Nullable Datetime field in a sql server datatable. The ShowCheckBox option is set to true. If the user unchecks the checkbox on the datetimepicker I would like to the field to be set back to null in the DataTable. The default behaveour does not seem to do this and there is no specific event for the uncheck.
Private Sub dtpCertDate_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dtpCertDate.ValueChanged
If dtpCertDate.Focused Then
[code].....
View 4 Replies
Sep 17, 2010
[Code] Now the problem is that after i put this user-control in a form, I have to set a value for the Handled file. Otherwise it gives me a value cannot be null exception. Is there a way that i can set code that would execute in the case of the value being null? [Code]
View 14 Replies
May 12, 2012
I've tried these two blocks but it returns the same value. I do not describe more, I simply just show the code:
Dim f As Nullable(Of Integer)
If f = 1 Then
Console.WriteLine("Equal")
[Code]....
It works in C# correctly...
View 1 Replies
Aug 4, 2009
I am working through my new MVC book and of course, the samples are all in c# as usual. There is a line of code that says public bool? WillAttend { get; set; }
The author explains that the question mark indicates that this is a nullable (tri-state) bool that can be true, false. or null. (A new C# 3 convention.) Does vb.net support any convention like this. Certainly I can declare a boolean in vb.net and I can explicitly set it to Null (Nothing in vb.net).
View 4 Replies
Jan 18, 2010
How can I create a nullable numeric optional parameter in VB.NET?
View 3 Replies
Jul 22, 2011
Possible Duplicates: Coalesce operator and Conditional operator in VB.NET Is there a VB.NET equivalent for C#'s ?? operator? Is there a built-in VB.NET equivalent to the C# null coalescing operator?
View 4 Replies
Jan 4, 2011
i'm afraid that this is a stupid question, but i must assume that i have programmed VB.Net too long and now can't figure out how to convert this C# null coalescing operator into VB.Net:
if( Convert.ToBoolean(ViewState[tp.UniqueID + "_Display"] ?? true) == false ){}
I know the IIF-Function but i'm not sure how to use it here and if it gives the correct result(in IIF both expressions are being evaluated). Please help to shed light on the dark.EDIT: if you want to see the source of this: forums.asp.net There you can see a solution that generates a Option Strict On disallows implicit conversions from 'Object' to 'Boolean' compiler exception.
View 7 Replies