This answer applies here. It defines command comment-region-lines that comments or uncomments the current line, or the region if active.
It is similar to comment-or-uncomment-region, but it lets you decide whether to uncomment or comment. It lets you nest comments, instead of automatically uncommenting the region if it is already commented out.
With a numeric prefix arg it uses that many comment-start chars (e.g., ;, ;;, ;;;,... in Lisp). With a plain C-u prefix arg it uncomments. I bind it to C-x C-;.