Click here to Skip to main content
15,168,971 members
Articles / Programming Languages / C#
Posted 22 Jan 2011

Tagged as


8 bookmarked

Commenting/uncommenting segments easily in C#

Rate me:
Please Sign up or sign in to vote.
4.98/5 (28 votes)
24 Jan 2011CPOL
Comment out a large segment by changing a single line
You're probably already aware of the two popular types of ways to comment-out text in your code:
1. Single line comment with the double right-slash:
// this is an example of a single line of comment

2. Commenting out an entire segment with the opening /* and the closing */:
int intValueA = 12;
int intValueB = 234;
int intSum = intValueA + intValueB;

and you've probably commented out an entire segment with no regard for the single line comments tucked within:
// set first value
int intValueA = 12;
// set second value
int intValueB = 234;
// calculate sum
int intSum = intValueA + intValueB;

but have you ever considered commenting out the opening/closing comments? "why would I do that?" you may ask.
// set first value
int intValueA = 12;
// set second value
int intValueB = 234;
// calculate sum
int intSum = intValueA + intValueB;

Of course when you comment out the opening-comment slash-asterisk, then that segment of code is no-longer commented out and by commenting out the closing asterisk-slash combination, it is ignored whenever the segment is not commented it and it still terminates the segment if the opening is not commented.
In other words, by doing this, you can easily comment/uncomment the entire segment by uncommenting/commenting the opening comment.

/*  <- single line commenting this line 'uncomments' the entire segment!
// set first value
int intValueA = 12;
// set second value
int intValueB = 234;
// calculate sum
int intSum = intValueA + intValueB;


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Christ Kennedy
CEO unemployable
Canada Canada
Christ Kennedy grew up in the suburbs of Montreal and is a bilingual Quebecois with a bachelor’s degree in computer engineering from McGill University. He is unemployable and currently living in Moncton, N.B. writing his next novel.

Comments and Discussions

GeneralMy vote of 5 Pin
niubay31-Aug-12 4:45
Memberniubay31-Aug-12 4:45 
GeneralMy vote of 5 Pin
PIEBALDconsult13-Aug-12 19:36
professionalPIEBALDconsult13-Aug-12 19:36 
GeneralMy vote of 5 Pin
Volynsky Alex10-Jul-12 10:37
professionalVolynsky Alex10-Jul-12 10:37 
GeneralMy vote of 3 Pin
Donsw15-Apr-12 17:08
MemberDonsw15-Apr-12 17:08 
GeneralRe: My vote of 3 Pin
Andreas Gieriet3-Jun-12 6:55
professionalAndreas Gieriet3-Jun-12 6:55 
I was thinking along the same lines... (without voting down, though).
The trick is technically really neat.

From a code smell point of view, I dislike literally commented-out code.
Especially block comments are a pain, since they do not nest. E.g. if you comment out one block and you want to comment out an outer block, you maybe overlook that you have already an inner text commented out...

My hit-list is
1) remove unused code completely
2) make conditional[^] functions (comment why!), e.g. for debug mode validate and dump
3) enclose the block in question into an #if block (comment why!)
4) comment out whole blocks by prefixing with // (add //TODO to tell why - say up to where the comment goes!)
5) avoid /*...*/ comments since they do not nest

You may use logging frameworks that allow for fine grained control on what logging calls are turned on/off dynamically.

GeneralRe: yep, i think you're right. Pin
Christ Kennedy31-Jan-11 12:19
mvaChrist Kennedy31-Jan-11 12:19 
GeneralRe: I think this comment may have been meant for quasaron. Pin
Richard MacCutchan31-Jan-11 8:00
mveRichard MacCutchan31-Jan-11 8:00 
GeneralReason for my vote of 5 really helpful article Pin
Nikhil_S23-Feb-12 0:46
professionalNikhil_S23-Feb-12 0:46 
GeneralWhilst this is a useful tip in itself, isn't there a greater... Pin
Reiss17-Aug-11 0:13
professionalReiss17-Aug-11 0:13 
GeneralRe: forgive my slow response(s) but if by 'ship the wrong code' ... Pin
Christ Kennedy27-Aug-11 5:09
mvaChrist Kennedy27-Aug-11 5:09 
GeneralReason for my vote of 5 Neat! Pin
JF201529-Mar-11 0:18
MemberJF201529-Mar-11 0:18 
GeneralRe: very convenient too! thanks for your vote and comment. Pin
Christ Kennedy29-Mar-11 2:20
mvaChrist Kennedy29-Mar-11 2:20 
GeneralThe risk area should be obvious. If you apply this method to... Pin
TaipeiJim2-Feb-11 20:45
MemberTaipeiJim2-Feb-11 20:45 
GeneralRe: I'm in the habit of using this method strictly for commentin... Pin
Christ Kennedy3-Feb-11 2:53
mvaChrist Kennedy3-Feb-11 2:53 
GeneralReason for my vote of 5 Nice trick !! Pin
JohnPool2-Feb-11 4:45
MemberJohnPool2-Feb-11 4:45 
GeneralRe: works pretty good! thanks. Pin
Christ Kennedy2-Feb-11 11:23
mvaChrist Kennedy2-Feb-11 11:23 
GeneralGood One Pin
PrashKum31-Jan-11 22:49
MemberPrashKum31-Jan-11 22:49 
GeneralRe: nice, eh! Pin
Christ Kennedy1-Feb-11 1:51
mvaChrist Kennedy1-Feb-11 1:51 
GeneralReason for my vote of 5 Nice trick! Pin
quasaron31-Jan-11 6:12
Memberquasaron31-Jan-11 6:12 
GeneralRe: thanks. Pin
Christ Kennedy2-Feb-11 11:22
mvaChrist Kennedy2-Feb-11 11:22 
GeneralReason for my vote of 5 Really useful.. Pin
Pravin Patil, Mumbai24-Jan-11 4:25
MemberPravin Patil, Mumbai24-Jan-11 4:25 
GeneralRe: glad you agree. Pin
Christ Kennedy24-Jan-11 5:52
mvaChrist Kennedy24-Jan-11 5:52 
GeneralReason for my vote of 5 nice trick - have 5 Pin
Pranay Rana24-Jan-11 3:14
professionalPranay Rana24-Jan-11 3:14 
GeneralRe: really handy, I often add "debug-start" & "debug-end" if tha... Pin
Christ Kennedy24-Jan-11 5:51
mvaChrist Kennedy24-Jan-11 5:51 
GeneralRe: great! Pin
Christ Kennedy31-Jan-11 12:20
mvaChrist Kennedy31-Jan-11 12:20 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.