2011-02-06 106 views
0
public static void PathFinder (Client C, Path Distance) 
    { 
    if (C.Recording) 
    { 

     if(Distance to C.Path[C.PathIndex] < 7); 
     { 
     if(C.PathIndex + 1< C.Path.Count) 
     { 
     C.PathIndex++; 
     } 
     else 
     { 
     C.Recording = true; 
     C.Path = new List<Coord>(); 
     C.PathIndex = 0; 
     C.Path.Add(new Point(C.X, C.Y)); 
     C.Path = C.Path.Reverse(); 
     C.PathIndex = 1; 
     } 
     Coord To = Calculations.PullWeights(MakeCoord(C.X, C.Y), C.Path[C.PathIndex]); 
     } 
    } 
} 

我得到一些错误,但我真的不知道如何解决这个问题。我已经看过解决方案,但仍然有点无知>。 <不能转换类型为bool

+2

的错误在哪里发生?他们有什么错误? – 2011-02-06 05:56:04

+1

除非您提供有用的信息,例如您遇到的错误以及发生的线路 - 我们无法为您提供帮助。 – 2011-02-06 06:01:53

回答

2

这条线是错误

if(Distance to C.Path[C.PathIndex] < 7); 

首先Distance to C.Path[C.PathIndex]不是有效的表达。您需要用计算距离的表达式替换它。

其次,行末的分号不得存在。你是从字面上说if (x) doNothing();

+0

><现在我比以前更加迷失了哈哈。是的,我不确定分号是否正确,因为我在网上查看了一个答案,但是我不知道要把什么改为:( – Alan 2011-02-06 06:44:59

+0

只需删除分号,现有的{}}括号然后将在正确的地方。 – 2011-02-06 06:51:47

1

我将承担错误发生在这里:

if(Distance to C.Path[C.PathIndex] < 7); 

这看起来并不像一个有效的C#表达,这就是给你的转换错误

0
  1. if (C.Recording) - 如果Recording不是bool属性,那么这将不起作用
  2. if(Distance to C.Path[C.PathIndex] < 7);这是不合法的C#,并且将尾随分号

更新:

我不知道如果(!C.Recording)会擦出火花。我不知道录音类型是什么。如果它是一个布尔值,那么它很好,但如果不是,那么你需要创建一个布尔表达式。

例如,如果Recordingstring类型,那么你就需要做

if (!string.IsNullOrEmpty(C.Recording)) { ... } 
相关问题