船长啊,你教我的在调用窗口中关闭主窗口的方法具体怎么做啊?
还有一个问题,我写了一个切割字符串代码,如下:
private const string txt = @"F:\BegCSharp\实践\2005-3-3\check\121.txt";
public bool purview1()
{
StreamReader sr=File.OpenText(txt);
string[] sArray=sr.Split('a');
foreach(string i in sArray)
if(i.ToString()=="bcd")
return true;
else
return false;
}
我在121.txt中存的是"abcd".
可调试时总报错说:并非所有的路径都返回值.
但我认为都有返回值啊!
船长大人啊!帮帮忙啊!谢谢啊!

解决方案 »

  1.   

    public bool purview1()
    {
    bool aaa=true;
    StreamReader sr=File.OpenText(txt);
    string[] sArray=sr.Split('a');
    foreach(string i in sArray)
    if(i.ToString()=="bcd")
    aaa=true;
    else
    aaa= false;return aaa;
    }
      

  2.   

    编码习惯不好引起的问题!!!!private const string txt = @"F:\BegCSharp\实践\2005-3-3\check\121.txt";
    public bool purview1()
    {
    StreamReader sr=File.OpenText(txt);
    string[] sArray=sr.Split('a');
    foreach(string i in sArray)
             {
    if(i.ToString()=="bcd")
             {
    return true;
             }
    else
              {
    return false;
               }
             }
             return false;
    }
      

  3.   

    谢谢……谢谢各位前辈!
    问题是解决了,不过我好象还是没有搞懂为什么会这样,我觉得flyskywlh的代码和我的没有多大差别啊!搞不懂啊!
    JasonHeung大侠,感谢你的衷告,以后我会注意的!我想问您一下,为什么还要加一个return false;
    啊?难道还有其他的情况吗?呵呵……多谢各位了!
      

  4.   

    给你完整的分析,你的代码原形同下面修改过的是一样的.
    但是假设sArray的长度为0,那foreach里面的代码就根本不会执行,所以就没有return.
    就是这样简单.
    private const string txt = @"F:\BegCSharp\实践\2005-3-3\check\121.txt";
    public bool purview1()
    {
    StreamReader sr=File.OpenText(txt);
    string[] sArray=sr.Split('a');
    foreach(string i in sArray)
    {
    if(i.ToString()=="bcd")
    return true;
    else
    return false;
    }
    //return false;
    }