typeof(string)? Meh.
-
Why, when you can write it like this:
column.DataType = System.Type.GetType("System.String");
:sigh: (obviously, it's C#)
[My Blog]
"Visual studio desperately needs some performance improvements. It is sometimes almost as slow as eclipse." - Rüdiger Klaehn
"Real men use mspaint for writing code and notepad for designing graphics." - Anna-Jayne Metcalfe -
Why, when you can write it like this:
column.DataType = System.Type.GetType("System.String");
:sigh: (obviously, it's C#)
[My Blog]
"Visual studio desperately needs some performance improvements. It is sometimes almost as slow as eclipse." - Rüdiger Klaehn
"Real men use mspaint for writing code and notepad for designing graphics." - Anna-Jayne MetcalfeBecause it's faster... much faster. I always hope the
typeof()
gets done at compile time, but I think that's not the case. However, I just whipped up a little program to do one million of each, and theGetType
took 00:00:17.1290068, whereas thetypeof
took a mere 00:00:00.0245439. -
Because it's faster... much faster. I always hope the
typeof()
gets done at compile time, but I think that's not the case. However, I just whipped up a little program to do one million of each, and theGetType
took 00:00:17.1290068, whereas thetypeof
took a mere 00:00:00.0245439.PIEBALDconsult wrote:
ecause it's faster... much faster.
PIEBALDconsult wrote:
GetType took 00:00:17.1290068
PIEBALDconsult wrote:
typeof took a mere 00:00:00.0245439.
Either you missed my sarcasm, or I missed something else. So not only typeof shows intention much better (and is shorter), it's also faster. Excellent.
[My Blog]
"Visual studio desperately needs some performance improvements. It is sometimes almost as slow as eclipse." - Rüdiger Klaehn
"Real men use mspaint for writing code and notepad for designing graphics." - Anna-Jayne Metcalfe -
PIEBALDconsult wrote:
ecause it's faster... much faster.
PIEBALDconsult wrote:
GetType took 00:00:17.1290068
PIEBALDconsult wrote:
typeof took a mere 00:00:00.0245439.
Either you missed my sarcasm, or I missed something else. So not only typeof shows intention much better (and is shorter), it's also faster. Excellent.
[My Blog]
"Visual studio desperately needs some performance improvements. It is sometimes almost as slow as eclipse." - Rüdiger Klaehn
"Real men use mspaint for writing code and notepad for designing graphics." - Anna-Jayne MetcalfeIt's a win/win/win.
-
PIEBALDconsult wrote:
ecause it's faster... much faster.
PIEBALDconsult wrote:
GetType took 00:00:17.1290068
PIEBALDconsult wrote:
typeof took a mere 00:00:00.0245439.
Either you missed my sarcasm, or I missed something else. So not only typeof shows intention much better (and is shorter), it's also faster. Excellent.
[My Blog]
"Visual studio desperately needs some performance improvements. It is sometimes almost as slow as eclipse." - Rüdiger Klaehn
"Real men use mspaint for writing code and notepad for designing graphics." - Anna-Jayne Metcalfednh wrote:
typeof shows intention much better (and is shorter), it's also faster. Excellent.
Hey, what if I want potential runtime errors? You just need to write a unit test to make sure column.DataType == typeof(string).
I can imagine the sinking feeling one would have after ordering my book, only to find a laughably ridiculous theory with demented logic once the book arrives - Mark McCutcheon
-
Why, when you can write it like this:
column.DataType = System.Type.GetType("System.String");
:sigh: (obviously, it's C#)
[My Blog]
"Visual studio desperately needs some performance improvements. It is sometimes almost as slow as eclipse." - Rüdiger Klaehn
"Real men use mspaint for writing code and notepad for designing graphics." - Anna-Jayne Metcalfe -
column.DataType = System.Type.GetType("System.String"); column.DataType = typeof(string); Second line is more readable (IMO), less typing, and faster. There is absolutely no sane reason to write it the first way, hence my (not really a) question. :)
[My Blog]
"Visual studio desperately needs some performance improvements. It is sometimes almost as slow as eclipse." - Rüdiger Klaehn
"Real men use mspaint for writing code and notepad for designing graphics." - Anna-Jayne Metcalfe -
It's a win/win/win.
PIEBALDconsult wrote:
It's a win/win/win
And those are very nice situations to be in :rolleyes:
"Any sort of work in VB6 is bound to provide several WTF moments." - Christian Graus
-
It is not really a question, it is a programming horror the OP ran across.
"Any sort of work in VB6 is bound to provide several WTF moments." - Christian Graus
-
column.DataType = System.Type.GetType("System.String"); column.DataType = typeof(string); Second line is more readable (IMO), less typing, and faster. There is absolutely no sane reason to write it the first way, hence my (not really a) question. :)
[My Blog]
"Visual studio desperately needs some performance improvements. It is sometimes almost as slow as eclipse." - Rüdiger Klaehn
"Real men use mspaint for writing code and notepad for designing graphics." - Anna-Jayne Metcalfe -
Why, when you can write it like this:
column.DataType = System.Type.GetType("System.String");
:sigh: (obviously, it's C#)
[My Blog]
"Visual studio desperately needs some performance improvements. It is sometimes almost as slow as eclipse." - Rüdiger Klaehn
"Real men use mspaint for writing code and notepad for designing graphics." - Anna-Jayne Metcalfe -
Why, when you can write it like this:
column.DataType = System.Type.GetType("System.String");
:sigh: (obviously, it's C#)
[My Blog]
"Visual studio desperately needs some performance improvements. It is sometimes almost as slow as eclipse." - Rüdiger Klaehn
"Real men use mspaint for writing code and notepad for designing graphics." - Anna-Jayne MetcalfeGetType()
takes more time because of its runtime evaluation right?Vasudevan Deepak Kumar Personal Homepage Tech Gossips
-
column.DataType = System.Type.GetType("System.String"); column.DataType = typeof(string); Second line is more readable (IMO), less typing, and faster. There is absolutely no sane reason to write it the first way, hence my (not really a) question. :)
[My Blog]
"Visual studio desperately needs some performance improvements. It is sometimes almost as slow as eclipse." - Rüdiger Klaehn
"Real men use mspaint for writing code and notepad for designing graphics." - Anna-Jayne Metcalfednh wrote:
less typing, and faster
And relatively less bytes to save on disk and less data to transfer across the wire during FTP and other copy operations. :-D
Vasudevan Deepak Kumar Personal Homepage Tech Gossips
-
GetType()
takes more time because of its runtime evaluation right?Vasudevan Deepak Kumar Personal Homepage Tech Gossips
They are both in run time but there are JIT optimalizations... I've just found more on this topic in this[^] blog post.
[My Blog]
"Visual studio desperately needs some performance improvements. It is sometimes almost as slow as eclipse." - Rüdiger Klaehn
"Real men use mspaint for writing code and notepad for designing graphics." - Anna-Jayne Metcalfe -
PIEBALDconsult wrote:
ecause it's faster... much faster.
PIEBALDconsult wrote:
GetType took 00:00:17.1290068
PIEBALDconsult wrote:
typeof took a mere 00:00:00.0245439.
Either you missed my sarcasm, or I missed something else. So not only typeof shows intention much better (and is shorter), it's also faster. Excellent.
[My Blog]
"Visual studio desperately needs some performance improvements. It is sometimes almost as slow as eclipse." - Rüdiger Klaehn
"Real men use mspaint for writing code and notepad for designing graphics." - Anna-Jayne MetcalfeI believe the typeof(T) operator is resolved at compile-time. Thus when you speak of how long "typeof took" you are really only measuring the time spent to loop, increment and check loop variable, and perform the assignment. The MSDN documentation does make a distinction between types in general and the type objects that represent types (and which are, of course, themselves types). For example, the reference for the typeof() operator mentions: Used to obtain the System.Type object for a type. A typeof expression takes the following form: System.Type type = typeof(int); It's clear that the System.Type is the "metatype", the type that is created for us but describes a type we created. It also says to use GetType() to obtain the run-time type of an expression (although not the GetType overload discussed here, taking a string and finding a corresponding type in any loaded assembly in the appdomain!), and I take this as evidence in support of the "typeof() is resolved at compile-time" hypothesis. :)