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]);
}
}
}
我收到了几个错误,但我不确定如何解决问题。我已经看过解决方案,但仍然有点无能&gt;。&lt;
答案 0 :(得分:2)
此行错误
if(Distance to C.Path[C.PathIndex] < 7);
首先Distance to C.Path[C.PathIndex]
不是有效的表达式。您需要将其替换为计算距离的表达式。
其次,行尾的分号一定不能存在。你真的在说if (x) doNothing();
答案 1 :(得分:1)
我认为错误发生在这里:
if(Distance to C.Path[C.PathIndex] < 7);
这看起来不像是一个有效的C#表达式,而这就是为您提供转换错误
答案 2 :(得分:0)
if (C.Recording)
- 如果Recording
不是bool
属性,那么这将不起作用if(Distance to C.Path[C.PathIndex] < 7);
这不是合法的C#,并且会丢失尾随的分号更新
我不确定(!C.Recording)
是否也能正常工作。我不知道录音的类型是什么。如果它是一个bool,那么一切都很好,但如果没有,那么你需要创建一个布尔表达式。
例如,如果Recording
是string
类型,那么您需要执行
if (!string.IsNullOrEmpty(C.Recording)) { ... }