.net - Differences Between VB TryCast And C# "as" Operator When Using LINQ?

Aug 19, 2009

I have a LINQ query to retrieve the maximum value of an integer column. The column is defined as NOT NULL in the database. However, when using the MAX aggregate function in SQL you will get a NULL result if no rows are returned by the query.Here is a sample LINQ query I am using against the Northwind database to demonstrate what I am doing.

var maxValue = (from p in nw.Products
where p.ProductID < 0
select p.ProductID as int?).Max();

C# correctly parses this query and maxValue has a type of int?. Furthermore, the SQL that is generated is perfect:

SELECT MAX([t0].[ProductID]) AS [value]
FROM [Products] AS [t0]
WHERE [t0].[ProductID] < @p0

The question is, how do I code this using VB.NET and get identical results? If I do a straight translation:

dim maxValue = (from p in Products
where p.ProductID < 0
select TryCast(p.ProductID, integer?)).Max()

I get a compile error. TryCast will only work with reference types, not value types. TryCast & "as" are slightly different in this respect. C# does a little extra work with boxing to handle value types. So, my next solution is to use CType instead of TryCast:

dim maxValue = (from p in Products
where p.ProductID > 0
select CType(p.ProductID, integer?)).Max()

This works, but it generates the following SQL:

SELECT MAX([t1].[value]) AS [value]
FROM (
SELECT [t0].[ProductID] AS [value], [t0].[ProductID]

[code]....

While this is correct, it is not very clean. Granted, in this particular case SQL Server would probably optimize the query it to be the same as the C# version, I can envisage situations where this might not be the case. Interestingly, in the C# version, if I use a normal cast (i.e. (int?)p.ProductID) instead of using the "as" operator I get the same SQL as the VB version. if there is a way to generate the optimal SQL in VB for this type of query?

View 6 Replies


ADVERTISEMENT

Differences In LINQ Syntax Between .Net And C#?

Jun 29, 2011

After I have programmed several projects in VB.Net I to my surprise discovered that there are some more than subtle differences between C# and VB.NET LINQ usage.For example, if we want to group elements by multiple properties (columns) we need to create a new anonymous type explicitly:

var procs = from c in Process.GetProcesses()
group c by new {c.BasePriority, c.Id} into d
select d;

whereas in VB.NET more straightforward syntax will already do:

Dim b = From c In Process.GetProcesses()
Group c By c.BasePriority, c.Id Into Group
Select Group

So, one does not need to create a type with "new" here. What are the other differences? good comparison between the LINQ syntax in C# and VB.NET?

View 2 Replies

LINQ Select In .NET And C# Differences?

Mar 16, 2011

When using VB.NET I can do the following:

Public Function GetUser(ByVal ID as Integer) As User
Dim dc As New YesEntities()
Return (From u in dc.Users Where u.ID = ID).Single()
End Function

And on my .aspx/.vbhtml page I can access the user's department name like this:

Dim DepartmentName as String = new User().GetUser(12).Department.Name

[Code]...

View 1 Replies

Dynamically Building LINQ Query Using OR Operator In VB

May 22, 2009

I need to build a dynamic linq query with or operators. I have seen PredicateBuilder but that is in C# and my project is in VB. Basically I need to build a WHERE clause similar to this:

Where((this = 1 AND that = 2) OR (this = 1 AND that = 4) OR (this = 2 AND that = 4))

but the problem is the number will have to be determined dynamically at runtime, and added using a loop, like

for each item in myItems
query = query.OR (this = item.a AND this = item.b)
next

View 2 Replies

Error 1 Operator '&' Is Not Defined For Types 'String' And 'System.Xml.Linq.XElement'

May 17, 2012

i am downloading data from xml using linq library those data i want to add them on a textblock item

TextBlock1.Text = TextBlock1.Text & result

but it has an error :

Error 1 Operator '&' is not defined for types 'String' and 'System.Xml.Linq.XElement'.

When i am changing this line to :

TextBlock1.Text = TextBlock1.Text & result.Tostring

it works but it adds this data :

"<"data> data <"/data>

instead of :

hello

View 1 Replies

Why Use TryCast Instead Of Directcast

Aug 28, 2010

Possible Duplicate: Why use TryCast instead of Directcast ? I want to know about the trycast and direct cast in vb.net. What is the difference between them?

View 2 Replies

Difference Between DirectCast And TryCast?

Feb 23, 2010

What is the difference between DirectCast and TryCast? Can someone illustrate it in very simple words along with an example?

View 5 Replies

TryCast Fails Where DirectCast Works (.NET 4.0)

Aug 19, 2010

I find this behavior of TryCast in .NET 4.0 / VS 2010 rather confusing. In my understanding TryCast works like DirectCast, but will return Nothing instead of throwing an exception if a cast is not possible. VS 2010 / .NET 4

[Code]...

View 1 Replies

.net - Casting DataTypes With DirectCast, CType, TryCast?

Apr 24, 2010

Ever since I moved from VB6 to VB.NET somewhere in 2005, I've been using CType to do casting from one data type to another. I do this because it is simply faster to type, used to exist in VB6 and I do not know why I have to be using DirectCast if there is apparently no difference between them.I use TryCast once in a while because I understand that sometimes casting can fail. I however cannot get the difference between CType and DirectCast.

View 3 Replies

Can't Compare Types - TryCast(ans, T) <> Nothing Then ... Doesn't Work

Jan 30, 2012

I want to see if try cast can convert user entered answer to the type I have specified. Here's what I have: Dim t as type = GetType(myType) Dim ans = console.readline() If TryCast(ans, t) <> Nothing Then ... 'Doesn't work` In the example above the intelisense doesn't even show t. How to make it work?

View 4 Replies

Object Casting - TryCast Statement And Base Class

Jun 17, 2009

Here is a test program I wrote to explore a facet of object casting ...
Module Module1
Sub Main()
Dim class1 As MyBaseClass = New MyBaseClass()
Dim class2 As MyInheritedClass = New MyInheritedClass()
Dim class3 As MyBaseClass = Nothing
[Code] .....
The problem comes with the TryCast statement on class3. My intention is that class3 remains as a baseclass, but when the TryCast is applied, class3 morphs itself into an Inherited class which is not what I wanted. So is there a gap in my OOP/VB.NET knowledge and this action is legitimate or should class3 still be regarded as a base class?

View 6 Replies

Error: Option Strict On Disallows Operands Of Type Object For Operator '='. Use The 'Is' Operator To Test For Object Identity

Jan 27, 2010

I am tightening up my coding with the Option Strict set to ON. It has now produced alot of errors. An example of this is:

If AllocatedDGV.Rows(i).Cells("RoomNumber").Value = RoomsAvailableDGV.Rows(j).Cells("RoomName").Value Then

It gives me the following error: Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity.

View 6 Replies

Option Strict On Disallows Operands Of Type Object For Operator Use The 'Is' Operator To Test For Object Identity

Apr 6, 2012

I need to write an interface to get data to/from our data files.

We have a low level class that holds field values for each record read from the files.

This just holds two values, the value read from the file (DBValue) and the updated value that may need to be written back to the file (CurrentValue).

These values may be any of the standard value types (integer, date etc) or a string.

Either value (DBValue or CurrentValue) may be null if not defined.

I have written the class to manage this data which works fine while option strict is NOT on.

But we have an office policy of having option strict on all the time.

When I put option strict on, my object value comparisons fail with the error: "Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity."

Question, how should I change the following code to handle option strict on ...

This is all running on Visual Studio 2010

[Code]...

View 1 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

How To Use Operator As A Comparison Operator

Nov 11, 2009

I want to perform equality comparison in VB.NET and cannot get it to work. Error: value of type Boolean can not be converted to System.Drawing.PointF

[code]...

View 4 Replies

Differences Between 32 And 64-bit

Aug 22, 2010

What are the differences between 32 and 64-bit .NET (4) applications?Often 32-bit applications have problems running on 64-bit machines and conversely. I know I can declare an integer as int32 and int64 (certainly int64 on 32-bit systems make problems). Are there other differences between programming an 32 OR 64-bit or a both 32 AND 64-bit compatible application?

View 2 Replies

Differences Between VB And C#?

Aug 10, 2010

Would like to build an application and was wondering why someone would choose one language over another.Also is one language used more for a particular type of programming then another (For example, is VB used more for business or Windows development then for web development ?)

View 1 Replies

What Are The Differences Between .net And VB5

Aug 14, 2009

I am currently learning visual basic 5 on my home computer. I was wondering if someone could tell me what the major differences are between Visual basic 5 and the latest/new editions of VB.

View 3 Replies

Differences Between Enums In C#?

Jan 14, 2010

We have legacy character codes that we want to store as numbers in a new system. To increase readibility and general understanding in the code for devs making the migration, I want to do Enums like this..

[Code]...

With this setup, the code will be readable (imagine If Record.Status = Status.Open), and yet the values will be stored in the database as small numbers so it will be efficient. However... I am a VB.NET guy, but everybody wants to code in C#, so I need this sort of structure in C#.After Googling, I discovered the the general .NET equivalent of AscW is Convert.ToInt32("C"). When I try to use that statement in an enum, I get the compiler error "Constant Expression Required".

View 2 Replies

Differences Between Vb6's Interface And .net?

Dec 13, 2011

in order for me to get help on me and my programming partners vb6 rpg, I have to upgrade the project to the vb.net platform, and I am worried that the IDE interface that is used to program the vb side of the rpg is different, so I am wanting to ask any of you if there are any significant changes to the IDE or if it is relatively the same as it was in vb6... I am also hoping that someone here can also help me to see what is wrong with my load/save function... I now thought of something to try to see if that is the issue or not, but the code is still vb6 code, the only difference will be that the program will be upgraded to the .net platform, so if that changes anything in the code, then I am not aware of this as of yet, because I am still downloading the visual studios 2010 express iso right now... so I do not know for sure yet what will be changed.

View 3 Replies

Final Differences In VB?

Dec 18, 2011

Does anyone know how to implement in VB an algorithm for final differences that changes the network (the matrix) during the computation (decrease its dimensions)?

View 1 Replies

Generated IL Differences For VB And C#

Aug 26, 2011

Today I was playing around with Entity Framework and I've read that the generated IL for C# was different than VB.NET for the following code:

[code]...

As it seems the VB.NET version of this code will contact the database every time the code is executed while the C# version will retrieve the entities from the cache when the code is executed multiple times.Why would they make both languages behave in such a different manner?It was my misconception that both languages just differed in syntax and had almost exactly the same generated IL.Are there any more examples where both languages generated such different IL?

View 2 Replies

Main Differences Between VB And C#

Jan 17, 2011

what can C# do that VB.Net can't ? VB.net vs C#.net

main differences between visual basic and C# as well as the pros and cons between the two?

View 1 Replies

.net - Compare Text And Get Differences?

Jul 18, 2011

Well i want to compare 2 strings (version one and version two) and get the differences in a format that i can convert to html on my own, like you can view how a post was edited here on stack*overflow* or like svn tracks differences between revisions....

It must be full managed code library.

Like this JavaScript but i need to do it on the server-side..

View 2 Replies

.net - Differences In The Garbage Collector For .net And C#?

Mar 9, 2012

I've heard that the c# garbage collector can be 'more aggressive' than it's vb.net counterpart. Is this true? Are there any other differences in how garbage collection is run in vb.net vs. c#?

View 5 Replies

.net - Get Differences That Caused Except To Add An IEnumerable?

Oct 26, 2011

i'm using Enumerable.Except to check if a DataTable in memory is in sync with the table in database.

The background is: this DataTable and other frequently used tables are stored in the Cache of a WebApplication. But meanwhile i'm convinced that this is not a good approach because it's a source for nasty errors that are difficult to reproduce/debug.

Therefore i've created a function that checks if database and memory are in sync, otherwise an error-log will be created. This works perfectly. If there is a row in memory that is not in database, this row will be shown below "Difference in database", the same applies in reverse. But if rows exist in both datasources(the PK idRMA) and some values differ, the log will contain this row in two versions(below "Difference in database" and "Difference in database"). It is not easy to see the differences on the first sight.

Q: Is it possible to select only the properties that caused Except to think that first sequence is not in second?

This is the the complete function(the first lines are relevant):

Public Shared Sub CheckRmaMemoryInSyncWithDB()
Dim inSyncText As String
Dim color As Drawing.Color

[Code]......

View 3 Replies

.net - Saving And Restoring Xml Differences

Jan 13, 2010

I am using asp.net and the .net framework 2.0. I may be able to upgrade the servers to 3.5 if the solution is compelling enough. Here is the problem. I have two pieces of xml. I'll refer to piece number 1 as the template and piece number 2 as the actual. Here's a basic example:

[Code]...

View 2 Replies

Binary Shift Differences Between C#?

Nov 16, 2011

I just found an interesting problem between translating some data:

VB.NET: CByte(4) << 8 Returns 4
But C#: (byte)4 << 8 Returns 1024

[code].....

View 3 Replies

Compare Differences Between 2 Strings?

Sep 24, 2009

I have 2 text boxes and I load a text file in to each box, the files contents are "almost" exactly the same but not 100%. how would i compare the 2 against eachother and output the difference in percentage? I've made a program once before it was pretty cool it did all these things and it was in VB.Net i just cant remember how i did it.. i do know i counted how many of the sames words exist but i cant remember what else i did.

View 10 Replies

Compare Differences Between Lists?

Feb 17, 2011

Compare differences between lists?I have two sets of lists below[code]...

View 1 Replies







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