感觉自己对return很生疏一样,望各位给个详细解释
解决方案 »
- WPF,属性元素为什么不可以这样写
- wcf性能问题,生产出现
- 给app.config中添加配置时的问题
- 有谁写过类似windwos资源管理器的程序.
- 如何按条件从 DataSet 取出中的不同数据 ???
- 简单的scoket 点对点聊天 为什么在互联网上好用,但是在局域网内就连接不上对方?
- 我想比较两个程序的速度,该怎么写:执行程序用了多长时间??
- 请问cashfiesta是一个什么样的广告公司?
- 怎样把如下的VB.NET中的datagrid中绑定combobox改为C#
- 请问哪有好的正则表达式的创建和测试工具?麻烦地址告诉我,急等
- html引用数据组,请求讲解
- 我的电脑上已经装了vs2003,再装vs2005会不会相冲突?
如:
public void Test(string[] array)
{
foreach(string s in array)
{
if(s.Contains("hello")
{
Console.WriteLine("Yes");//如果有包括hello的项,输出yes,并退出方法
return;
}
}
Console.WriteLine("No");//如果没有包括hello的项,输出no,这里就可以省略return了
}
public void aa()
{
string a = dd();
//这里 a等于dd()函数返回的值, 所以a=ABC
}
public string dd()
{
string d ="ABC";
........ return d; ///这个函数最后回返回一个string 的值
}
当执行了if语句,rerurn是跳出到哪,为什么会是跳出这一方法呢?
我总理解成是跳出了foreach循环,而Console.WriteLine("No");这一句是总要执行的,这是我的理解
请给我纠错一下,该怎么去理解
要跳出循环应该用break
而我运行的结果可不是啊,是若执行了if语句,那么Console.WriteLine("No");就不执行了,否则则执行Console.WriteLine("No");
public void Test(string[] array)
{
foreach(string s in array)
{
if(s.Contains("hello")
{
Console.WriteLine("Yes");//如果有包括hello的项,输出yes,并退出方法
return;//跳到Console.WriteLine("No")行并往下执行
}
}
Console.WriteLine("No");//如果没有包括hello的项,输出no,这里就可以省略return了
}
public void funcA()
{
int k = funcB();
k=k+1;
}public int funcB()
{
//...
}上面的代码中,在funcB()内的任何地方返回都会导致代码执行到k=k+1;这一行上来。
正哪上面的老大说的,如果在你的return被某个try{...}finally{}所包括,那么相应还会执行finally内的代码。在返回之前,还有可能执行一些由编译器所填充的代码,这个一般不用处理。比如:lock,using等。
public void Test(string[] array)
{ string a="aa";
foreach(string s in array)
{
if(s.Contains("hello")
{
Console.WriteLine("Yes");
return a="bb"
}
}
Console.WriteLine(a);
}这样的话它执行了if语句还会执行它吗Console.WriteLine(a);
{ string a="aa";
foreach(string s in array)
{
if(s.Contains("hello")
{
Console.WriteLine("Yes");
return a="bb"
}
}
Console.WriteLine(a);
} public 这个后面 如果写成void 的话那就代表没有返回值! 如果写成类型!就代表 返回值的类型! 你这样写是没有意义的!没有人会去这样写的! 输出的时候 a 是 "bb"
还看不懂吗????
你不是也试验了吗?