1.
int n= Convert.ToInt32(Console.ReadLine()); 只声明一次
while(true)
{
n++;
}
2
while(true)
{
int n= Convert.ToInt32(Console.ReadLine()); ; //在循环里
n++;
}
wo d 我的意思就是 放到外面和放到里面 结果是一样的.
但是有没有区别呢??比如内存使用?还是什么的?
------解决思路----------------------
有区别,一个变量是while外的,一个是while内的。如果while下面还有代码用到N,第一个N可用,第二个N不可用,会报错!
------解决思路----------------------
作用域不一样,怎么可能没区别。。。
在外面的话n会一直++
在里面的话每次n都是重新readline
------解决思路----------------------
除此之外,一般单线程我习惯放在外面,多线程放里面。
------解决思路----------------------
当你说出“wo d 我的意思就是 放到外面和放到里面 结果是一样的.”的时候,你会发现,有许多人都不关心“你是如何得到结果的”这个问题,而是急着赶紧拼凑一大堆名词儿概念给你。
实际上,我们死记硬背的东西很有限,懒得去猜测和联想无关的问题,把精力用于创造“结果是不一样的”上面,所以才能写出更多更好的程序。
如果结果是一样的,你就不要纠结于概念。对于编程理解的对与错、是与非,都没有意义。
------解决思路----------------------
对于C#来说,没有什么区别。关键看怎么用,比如说
int foo()
{
for (int i = 1; i < 2; i++)
{
int j = 1;
}
return j;
}
这样就会报错。
------解决思路----------------------
一样
不是释放,是在同一个地址