我有要實例化一個int[] building;
動態基於另一陣列int[] info;
建築INT []從另一個值INT []
info
的將持有int
範圍從0-48
要構建building
array ..如果info
數組中的索引ind
中存在非零值,我想將該索引添加到building
數組中。
所以,如果info
看起來像這樣{0, 12, 24, 48}
我想構建顯示{1, 2, 3}
另一個例子{12, 0, 0, 48}
- >{0, 3}
有一個整潔的一個襯墊做到這一點?
如何我已經做了
int[] info = new int[]{12, 0, 0, 48};
List<int> indxs = new List<int>();
for (int i = 0; i < info.Length; i++)
if (info [i] > 0)
indxs.Add(i);
int[] building = indxs.ToArray();
您使用的語言不是C++,但問題是標記爲C++。請解決這個**不一致**。調整標記或示例。 –
你可能會寫一個助手,比如'IndexesWhere',類似於'System.Linq.Enumerable.Where'。 – ach
你有沒有特別的理由讓它成爲一個班輪?您可以在實用程序庫中創建方法,或者更好地使用[擴展方法](http://msdn.microsoft.com/zh-cn/library/bb383977.aspx)。你應該始終重視長度的可讀性。 – mason