2011-02-06 60 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)) { ... } 
相關問題