2015-10-04 66 views
0

我需要一個具有相同尺寸(保存值爲0或1)的數組作爲參數,該函數可以是任何等級和任何類型的函數。結果數組將包含0代表失敗,1代表成功(我可以使用布爾)來自進程。我怎樣才能創建結果數組?C#數組 - 轉換/複製

+0

有什麼具體要求?你嘗試過什麼嗎?創建一個特定大小的布爾數組可能? –

+0

這似乎是一個瘋狂的要求。對於失敗,你應該拋出一個異常。 –

+0

@IanNewson:這並不瘋狂。有些時候你有一份你想做的事情的清單,而你想報告哪些事情可以完成。例外情況通常是故障情況的最佳解決方案,但並非總是如此。 – StriplingWarrior

回答

5

使用Array.CreateInstance

private static Array CreateArray(Array array) 
{ 
    List<int> dimensions = new List<int>(); 
    for (int i = 0; i < array.Rank; i++) 
    { 
     dimensions.Add(array.GetLength(i)); 
    } 
    return Array.CreateInstance(typeof(bool), dimensions.ToArray()); 
} 
+0

完美!究竟是我在尋找什麼(幾個小時!)。非常感謝你。 – AAsk

+0

如果這是你的問題的解決方案,那麼其他人會知道:] – dlght