|
|
Nope, I had a similar issue a while ago. The VS debugger just gives up with a StackOverflow error which is terrible. 20mins is admirable, I spent half a day learning from this experience.
|
|
|
|
|
Maybe I'm a super ninja, but I only takes me a few minutes finding them. Turn on break on exceptions, and if that's too late you can usually pause the program after the cpu goes to 100% for a few secs, and voila you got your stack trace. Has worked for years for me.
Wout
|
|
|
|
|
On my machine it happens in less than a second. So no time to break the debugger.
What do you get when you cross a joke with a rhetorical question?
The metaphorical solid rear-end expulsions have impacted the metaphorical motorized bladed rotating air movement mechanism.
Do questions with multiple question marks annoy you???
|
|
|
|
|
I'm having both ninja skills and a magic core i7 then, sweet.
Wout
|
|
|
|
|
Lesson learnt: Do not use Intellisense for anything other than saving a few keystrokes.
|
|
|
|
|
Foothill wrote: class MyObject
Calling a class MyObject is a bit weird.
You could call it MyClass or perhaps something more meaningful like <code> NumberImpl or something?
|
|
|
|
|
Change your language to VB.NET. Has same capabilities as C#, better debugger, better intellisense and is NOT case sensitive
You can write the property without having the variable spelled out. And without getter or setter.
Public ReadOnly Property Number as Integer is all you need.
|
|
|
|
|
Sinisa Hajnal wrote: better debugger, better intellisense How is it better?
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
My last use of C# was about a year ago so if something changed I apologize for the comment.
I didn't lost the joke icon. I use both languages and prefer VB.NET because of those three reasons (case insensitive, intellisense, debugger)
Yes, VB.NET is case INsensitive. If I try to declare variable v and variable V in the same scope it will say it is already defined. In C# this is legal as these are two different variable names.
Intellisense is better because it fills end of block automatically and it shows only items from your context not all loaded options. And fill most of the property and other stuff (true, partly because VB needs more text to code).
|
|
|
|
|
You probably lost the 'joke' icon...
I would like to know in what way the debugger and the intellisense is better?
And VB is NOT case-insensitive - the IDE only fixes your cases after you wrote the name down the first time (and this happens also in C# now)...
As for the properties...
public int Number { get; private set; }
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
|
Or, with C# 6:
public int Number { get; } = 42;
public int Number { get; }
public YourClass()
{
Number = 42;
}
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Quote: In this post, we will demonstrate how you can use Google Sign-In with your backend.
Really?
|
|
|
|
|
Well a lot of people use twitter with their backend...
|
|
|
|
|
I have a code where I need to get an exclusive lock on a file. It goes something like this:
try
{
}
catch(IOException ex)
{
if(ex.HResult == 0x80070020)
{
}
else
{
throw;
}
}
Looked good so I tested and it didn't work at all. So I debugged it and what i saw was:
ex.HResult 0x80070020 int
ex.HResult == 0x80070020 false bool
There is something wrong about the value 0x80070020. So I tried to declare a constant:
const int lockedFileHResult = 0x80070020;
And there it was: Cannot implicitly convert type 'uint' to 'int'. Of course because that is actually a negative number but the compiler doesn't know that so it cannot fit it into an integer. Next time I'll be extra careful with hex literals.
|
|
|
|
|
And how about 0x80070020u ?
|
|
|
|
|
It was an uint, and the problem was that I was comparing that to and integer. The integer value is -2147024864 but there is no way to declare that in hex. Hex value always translates to positive number which is 2147942432 in this case. The hex view in debugger fooled me.
Edit: ok there is a way thanks John.
|
|
|
|
|
|
That's nice trick with unchecked. Thanks for sharing. I eventually used decimal format, it's just a number after all.
|
|
|
|
|
My 2 cents: do not use that magic number, declare it as a constant and comment it with the meaning. Believe me, this is one of the very few good practices that is ALWAYS a good practice.
Magic numbers are tempting because they are fast to code in... and a hell to figure out.
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X
If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver
"When you have eliminated the JavaScript, whatever remains must be an empty page." -- Mike Hankey
"just eat it, eat it"."They're out to mold, better eat while you can" -- HobbyProggy
|
|
|
|
|
While I agree about the magic number, the problem here was one of silent conversion with data loss.
Decrease the belief in God, and you increase the numbers of those who wish to play at being God by being “society’s supervisors,” who deny the existence of divine standards, but are very serious about imposing their own standards on society.-Neal A. Maxwell
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
|
|
|
|
|
Yes I understood it - and encountered the problem frequently enough to be my first bet when I saw it. I also saw the solutions of those who commented before me. I just put my tip, also because usually when one declares a constant puts more attention to the type specification, so it is more probable to correctly define it as an unsigned form the start.
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X
If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver
"When you have eliminated the JavaScript, whatever remains must be an empty page." -- Mike Hankey
"just eat it, eat it"."They're out to mold, better eat while you can" -- HobbyProggy
|
|
|
|
|
I agree with the constant. I usually do this after I finish developing a method. I admit In this case I'd seen the problem immediately if I declared the constant upfront.
|
|
|
|
|
That's precisely why I suggested it I tripped over that problem and similar ones many times and usually delcaring all the data and constant firsthand helps me to avoid simple but time-consuming mistakes like this.
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X
If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver
"When you have eliminated the JavaScript, whatever remains must be an empty page." -- Mike Hankey
"just eat it, eat it"."They're out to mold, better eat while you can" -- HobbyProggy
|
|
|
|