并非所有的代码路径都返回值??雅

feifeiyaqi 2006-06-16 12:43:16
public class b
{
public char connection(char[] str1,char[] str2)
{

int i;
for( i=0;i<str1.Length;i++)
{
Console.WriteLine("str1[{0}]:{1}",i,str1[i]);
}
for(int j=i+1;j<str1.Length+str2.Length;j++)
{
return(str2[j]);
}
}
public static void Main()
{ char[] x=new char[20];
char[] y=new char[15];
Console.WriteLine("please input character x:");
for(int i=0;i<20;i++)
x[i]=Convert.ToChar(Console.ReadLine());
for(int i=0;i<20;i++)
Console.WriteLine("x[{0}]:{1}",i,x[i]);
Console.WriteLine("please input character y:");
for(int j=0;j<15;j++)
{
y[j]=Convert.ToChar(Console.ReadLine());
b myb=new b();
char k=myb.connection(x,y);
Console.WriteLine("y[{0}]:{1}",j,y[j]);

}

}
c:\inetpub\wwwroot\c\b.cs(10): “c.b.connection(char[], char[])” : 并非所有的代码路径都返回值
public char connection(char[] str1,char[] str2)
谢谢
...全文
638 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
feifeiyaqi 2006-06-16
  • 打赏
  • 举报
回复
任意的二个字符串连接成一个字符串??
wjwsnow 2006-06-16
  • 打赏
  • 举报
回复
for(int j=i+1;j<str1.Length+str2.Length;j++)
{
return(str2[j]);
}

如果这个for循环不执行就没有返回值所以jit认为没有返回char值
vfan2010 2006-06-16
  • 打赏
  • 举报
回复
楼主的C没有学好哦。

这就是说有可能出现一种情况,无论如何它也没有返回值,就是不会被执行。
Reeezak 2006-06-16
  • 打赏
  • 举报
回复
public char connection(char[] str1,char[] str2)
{

int i;
for( i=0;i<str1.Length;i++)
{
Console.WriteLine("str1[{0}]:{1}",i,str1[i]);
}
for(int j=i+1;j<str1.Length+str2.Length;j++)
{
return(str2[j]);
}
// need a return
}

编译器不会关你的逻辑如何,它至少路径
这里它会认为第二个for循环有进不去的时候,在这样的情况下就没有return了
所以它会报错
jianjian51 2006-06-16
  • 打赏
  • 举报
回复
for( i=0;i<str1.Length;i++)
{
Console.WriteLine("str1[{0}]:{1}",i,str1[i]);
}

这一句有错误 你是打印出来了

不要给我分了 只用在百事创意大赛上
http://jay.pepsi.163.com/article.jsp?id=16255
点击"我也要帮他评分" 用163邮箱登陆 给我评分
最好给我5分
kssys 2006-06-16
  • 打赏
  • 举报
回复
调用:
char [] k=myb.connection(x,y);
kssys 2006-06-16
  • 打赏
  • 举报
回复
连接字符串的方法:

private char[] connect(char[] A, char[] B)
{
  char[] returnValue = new char[A.Length + B.Length];

  for (int i = 0; i < A.Length; i++)
    returnValue[i] = A[i];

  for (int i = 0; i < B.Length; i++)
    returnValue[A.Length + i] = B[i];

  return returnValue;
}
liuqian0415 2006-06-16
  • 打赏
  • 举报
回复
http://www.gotapi.com/
语言:英语
简介:HTML,CSS,XPATH,XSL,JAVASCRIPT等API的查询网站。
http://www.w3schools.com/
语言:英语
简介:W3C制定的标准诸如XML,HTML,XSL等等的在线学习教程。
http://www.xml.org.cn/
语言:中文
简介:可以说是XML的中国官方网吧。W3C标准的翻译组织与XML系列技术交流社区.
http://www.connectionstrings.com/
语言:英语
简介:这里几乎收集了所有的数据库连接字符(connectionstring)了。
http://www.itpub.net/
语言:中文
简介:我个人认为是国内最专业的综合性行业性技术类社区.
http://www.netvtm.com/
语言:中文
简介:内容多翻译于w3schools.com,少有原创。不过还是应该鼓励精品翻译。
http://www.regexlib.com
语言:英语
简介:正则表达式库。搜索正则表达式用。
http://www.koders.com/
语言:英语
简介:代码搜索引擎,可以搜索几十种语言的代码。
http://www.123aspx.com/Rotor/
语言:英语
简介:.Net Frameworks的源代码。
http://dotnet.aspx.cc/
语言:中文
简介:孟宪会的资料站,虽资料大多比较简单,却解决了开发中的大部分问题?!
http://www.dofactory.com/Patterns/Patterns.aspx
语言:英语
简介:23种设计模式的实现参考。特点是UML+精练的示例代码+简洁的解说风格。
http://www.open-open.com/
语言:中文
简介:Java开源大全,如果你用.NET,照着它的名字前加N找找应该都有吧 ?!:)
http://www.riacn.com/
语言:中文
简介:我认为是国内少有的RIA专业技术站于交流社区.
http://www.cnpaf.net/
语言:中文
简介:中国协议分析网,很全面的协议资料网。
http://www.pinvoke.net/
语言:英语
简介:通过.net调用win32等非受控API的资料大全。
http://bbs.51js.com/
语言:中文
简介:无忧脚本,专业的脚本技术社区。
http://www.00147.net/index/download/Reflector.zip
反编译,反DLL。
http://www.mypm.net
需求分析
www.dnc.com.cn
控件源代码
http://mapserver.gis.umn.edu/
mapserver是很好的开源组件。
http://www.cngis.org/
open source of gis
http://www.yidusoft.com/yidusoft/down/yiduUpdateInstall.rar
智能升级
http://bewww.net/company/view_651.html
IT公司速查手册
http://www.itpm.com.cn
http://anf.hidotnet.com/
这里有源码,开源项目
http://dnetcms.anyp.cn/
研究一下倒奶cms,就理解了多层体系架构
www.58186.cn
http://www.webmis.com.cn/
http://www.webmis.com.cn/webmis_cs.htm
企业管理信息系统
http://www.diskeeper.com
磁盘岁片整理
http://www.aspxwork.com
用的是动网新闻
http://search.onlinedown.net/search.asp?Keyword=easyrecovery
数据恢复软件
www.ChinaCode.cn
http://www.dofactory.com
设计模式
http://www.sawin.cn/doc/QM/SCM/vss.htm
VSS使用
http://www.infograph.com/products/dwgviewer/
http://www.cadwizz.com/cadview.htm
http://www.mjtd.com/Soft/Index.asp
在winform中显示cad的图纸?
feifeiyaqi 2006-06-16
  • 打赏
  • 举报
回复
public char connection(char[] str1,char[] str2)
{
string retu="";
int i,j;
for( i=0;i<str1.Length;i++)
{
Console.WriteLine("str1[{0}]:{1}",i,str1[i]);
}
for( j=i+1;j<str1.Length+str2.Length;j++)
{
retu=str2[j].ToString();
}
return(str2[j]);
}
未处理的“system.format exception 类型的异常出现mscorlib.dll中其他信息为:字符串的长度只能为一个字符。
VirtualDesktop 2006-06-16
  • 打赏
  • 举报
回复
在public char结束的}前时候再加return
cic_wxf 2006-06-16
  • 打赏
  • 举报
回复
你的问题简单,错误提示非常明白

public char connection(char[] str1,char[] str2)
{
string retu="";

int i;
for( i=0;i<str1.Length;i++)
{
Console.WriteLine("str1[{0}]:{1}",i,str1[i]);
}
for(int j=i+1;j<str1.Length+str2.Length;j++)
{
retu=str2[j];
}
Return retu;
}
Anckly 2006-06-16
  • 打赏
  • 举报
回复
楼主的代码一句注释也没有,看起来好痛苦。

Anckly 2006-06-16
  • 打赏
  • 举报
回复
第一次执行:
for( i=0;i<str1.Length;i++)
{
Console.WriteLine("str1[{0}]:{1}",i,str1[i]);
}
这个语句执行完后,i的值是等于20;
for(int j=i+1;j<str1.Length+str2.Length;j++)
{
return(str2[j]);
}
此时j=i+1=21,str1.Length+str2.Length=21,所以条件不成立。
Anckly 2006-06-16
  • 打赏
  • 举报
回复
for(int j=i+1;j<str1.Length+str2.Length;j++)
{
return(str2[j]);
}

编译器只要认为有不会执行return(str2[j])语句的情况就会发生并非所有的代码路径都返回值错误,比如说当j<str1.Length+str2.Length不成立的时候,循环内的语句就不会执行。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧