Performance (speed), Does Directcast Beat Ctype?
Jan 14, 2011in terms of performance (speed), does directcast beat ctype?
View 6 Repliesin terms of performance (speed), does directcast beat ctype?
View 6 RepliesI am an experienced C/C++/C# programmer who has just gotten into VB.NET. I generally use CType (and CInt, CBool, CStr) for casts because it is less characters and was the first way of casting which I was exposed to, but I am aware of DirectCast and TryCast as well. Simply, are there any differences (effect of cast, performance, etc.) between DirectCast and CType? I understand the idea of TryCast.
View 2 RepliesI turned option strict on, wich gave me some errors. The errors are quite easy to fix, but it seems like there are several ways of doing things. [code] 'previoustime' is declared as a TimeSpan, and the column "sluttid" is defined as a TimeSpan-column.Now, as far as I know, there are two ways of solving this; using CType and using DirectCast, like this: [code]
View 4 RepliesPublic Enum Fruit
Red_Apple = 1
Oranges
Ripe_Banana
End Enum
Private Sub InitCombosRegular()
[Code]...
Why does the Ctype work and the Directcast does not with the same syntax? Yet if I cast the selectedValue to an int before I DirectCast, then it works
Does DirectCast, ctype, etc., are common function? Why it return type, and how do I used it? Is there others function where I need learn to be dot net expert?
View 3 RepliesEver 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 RepliesRecently I found a way to make CType work with generics (FYI, VB 2010 Express with option strict on). Say I have two generic types, T1 and T2, with variables x as T1 and y as T2. y=CType(x,T2) diagnoses with "Value of type 'T1' cannot be converted to 'T2'". y=CType(CObj(x),T2) compiles cleanly, and it works fine provided that T1 can be converted to T2. Failing that, an exception will be raised at run-time. Obviously, a downside of this is the boxing performance hit. Also, it is a half a step backward along the road to strong typing (a type conversion problem is discovered at run-time vice compile-time).
These objections aside, consider the GSU class below. There are two ways to do a generic CType of a variable, and then there is a way to do a CType of an entire array. GSU is sufficient (see sub Test) to convert an item or an array of items between, for example, all the numeric types (byte, short, double, ...). Exception handling remains to be done.
Type conversion code tends to get lengthy, so I think this is a nice result. What do you think? I am guessing that CType has some pre-generic smarts in it, and all I did was find a way to exploit it in the context of generics and option strict. I am mostly interested in generic tricks for value types.
[Code].....
Not really asking for code, but I'm interested in knowing the basics of "thread performance".For example, you try to copy a bitmap in a pixel by pixel operation. (Is slow, but it is a nice example)
[code]...
This is, of course, very buggy and causes a lot of violation errors etc. But that doesn't matter right now. How come the multi-threading way is so much faster than the regular routine? Is the processor not running on full speed with the first code, and is it working harder on the second?I find it weird to see this type of "threading performance increase", as if every single thread gets their own piece of processor speed allocated like it is a new process
Is there a way to get the beat of the music just like Beat Hazzard programmers did ?
View 5 RepliesHow do i exactly check internet connection speed.I have searched around google and found out a method w/c will Download a file like 1mb size, then it will calculate the speed.
View 1 Replieshow do i check the bandwidth (download speed and possible upload speed) of a user in vb.net or php that uses my app or visits my site resp?
View 1 RepliesI have a codes that calculates DownLoad speed and UpLoad speed kb/s. I would like to implement this kind. I also want to put such kind of graph. Any article or links where can I start building my own like that.
View 2 Repliesi want to monitor the speed at which my system is currently Downloading and uploading. I dont have any idea how will it can be done.
View 6 Repliesi want to check for the lan speed and put this speed value in a progress bar.
for example:
[==== ] the lan speed now is 23 KB/s
and there is another problem is if there are a LAN and a WiFi adapter in the same time how do i check for the speed for both adapters
Does C# have an equivalent to VB.Net's DirectCast?I am aware that it has () casts and the 'as' keyword, but those line up to CType and TryCast.To be clear, these keywords do the following;CType/() casts: If it is already the correct type, cast it, otherwise look for a type converter and invoke it. If no type converter is found, throw an InvalidCastException.
TryCast/"as" keyword: If it is the correct type, cast it, otherwise return null.DirectCast: If it is the correct type, cast it, otherwise throw an InvalidCastException.
EDIT: After I have spelled out the above, some people have still responded that () is equivalent, so I will expand further upon why this is not true.
DirectCast only allows for either Narrowing or Widening conversions on inheritance tree, it does not support conversions across different branches like () does.ie: C#, this compiles and runs:
//This code uses a type converter to go across an inheritance tree
double d = 10;
int i = (int)d;
[code]....
i am using code to the value textbox2.text in the report and using the code like below [code]the textbox2 take various values in run time but when i run the code it display only the final value intermediated values are not displayed the whole situation is as follows.[code]
View 1 RepliesI have a very simple problem where I have a MyList As List(Of MyBaseClass) but and a couple of MySub(ByVal Dummy As MyDerivedClassA)/MySub(ByVal Dummy As MyDerivedClassB). So I want to do the following ...
For Each MyInstance As MyBaseClass In MyList
MySub(DirectCast(MyInstance, MyInstance.GetType())
...
[code].....
I learned how to use DirectCast over the last few days and it's really helped me. However, I have a similar issue, instead of textboxes I am looking at variables that are referenced in the class.To bring you all up to speed, I have four variables, a Boolean that dictates each of the 4 players I have playing my game. [code] I would assume it'd work similar to DirectCast but I am unsure. What I came up with caused errors: [code]
View 14 RepliesI have 15 textboxes named MissionT1-15Is there a simple way to set all of their text to "Mission"?
missionT1.text="Mission"but for all of them with a loop?I saw something with directcast but wasn't able to make it work.
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 RepliesWhat is the difference between DirectCast and TryCast? Can someone illustrate it in very simple words along with an example?
View 5 RepliesI have an SQL query that gets a max value so that I can decide the next value to use in an ID field. The code works fine when there's a matching result, but if the query returns Null, it throws a Specified Cast is Invalid error.This is the code I'm using:
LastID = DirectCast(SQLQuery.ExecuteScalar(), Integer)
What would be the proper way to check for a null value?
I suspect this is going to be one of those cases where within 2 minutes of posting myquestion, I finally hit upon the right combination of terms in Google to find what I'm looking for...
I usually avoid VB's built-in conversion functions (CStr, CDate, CBool, CInt, etc.) unless I need to do an actual conversion. If I'm just casting, say from an object to a string, I normally use either DirectCast or TryCast, under the assumption that CStr, etc., are doing some extra stuff I don't need. But sometimes the DirectCast syntax is a little cumbersome, as in the following example.[code]SqlDataReader.Item returns an Object, which needs to be cast to a String. CStr is easier to read, type, and explain (IMO). My question is, does it matter which one I use? Should I just go with CStr (and CDate and CBool, etc.) and not worry about the extra work I assume those functions are doing? Is there any other downside to using these functions?
View 3 RepliesI was wondering if there was anyway for me to get the string value of a point variable so that I can compare it. I tried to do something like:
DirectCast("point" & number, Point).ToString
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]...
I'm helping a colleague develop a "catch all" type error handler for some controls his application. What he wants to do is pass the object that has the error, and the type of that object, such a TextBox or ComboBox, and then call the DirectCast method within his handler to properly address the Text attribute within it. In general, the method is looking like this:
Protected Sub SpecialErrorHandler(ByVal TargetControl As Object, ByVal ControlType As String)
MessageBox.Show("Bad Juice: " & DirectCast(TargetControl, ControlType(ObjType)).Text)
End Sub
So far any attempts to do a type conversion within the DirectCast method (since it is expecting an object in the general signature) or to even pass in the a Type object properly set is not working.
Any ideas here, or is this one of those "Casting doesn't work that way." type scenarios?
how can i cast a control to a type variable? heres the code i'm trying to use:
vb
Public Class form2Ex
Inherits Form2
Private list As Control = MyBase.CheckedListBox1
Private listType As Type
[Code]...
How come this is not a valid DirectCast:
Public Sub FB(OF T0 As IGH_Goo, T1 As IGH_Goo) _
(ByVal A As DataTree(Of T0), _
ByVal B As DataTree(Of T1))
Dim val_A As T1 = DirectCast(A.FirstItem, T1)
End Sub
[Code]...
how would i go about getting the of a fan of a computer that my program is running on in rps(revolutions per second) using vb.net?
View 4 Replieshave a look at this code Dim colors() As KnownColor = CType(System.Enum.GetValues(GetType(KnownColor)), KnownColor()) Since CType is a function that returns DataType ,But here as in the code it seems that CType() is returning array having values that is assigned to color() array. How this is happening?
View 3 Replies