我正在尋找一種方法來通過它已設置的ID來獲取對象的名稱。
名稱的第一部分總是相同的,例如。 「評級」,然後我想連接它與計數整數的當前值,例如。 "Rating" + i
。
是否有任何方法連接部分對象名稱和變量來構造一個對象名稱,或者它只是一個迭代通過數組的情況?在C中使用與字符串和部分對象名稱的串接
0
A
回答
1
假設對象的名字的意思是類的名稱,你可以做像這樣的東西:
當然,你需要更改代碼,以滿足您的需求,但對於一類名爲Test
,將打印此到調試輸出窗口
Test0
Test1
Test2
Test3
Test4
0
一般來說,項目對象的集合,你可以使用LINQ,或者更具體IEnumerable.Select
。在這種情況下,你是投射int
(int
類型的Id
屬性)爲string
,所以一般的方法是:
public static IEnumerable<string> GetNamesFromIds(IEnumerable<int> ids)
{
return ids.Select(i => "Rating" + i);
}
因此,假設一類是這樣的:
public class Rating
{
public int Id { get; set; }
}
你可以簡單地使用:
// get the list of ratings from somewhere
var ratings = new List<Rating>();
// project each Rating object into an int by selecting the Id property
var ids = ratings.Select(r => r.Id);
// project each int value into a string using the method above
var names = GetNamesFromIds(ids);
或總體上任何IEnumerable<int>
將工作一樣:
// get ids from a list of ratings
names = GetNamesFromIds(ratings.Select(r => r.Id));
// get ids from an array
names = GetNamesFromIds(new [] { 1, 2, 3, 4, 5});
// get ids from Enumerable.Range
names = GetNamesFromIds(Enumerable.Range(1, 5));
相關問題
- 1. Java - 使用名稱形式的對象字符串字符串
- 2. 引用數組對象與字符串的名稱 - 目標C
- 3. C#:使用字符串值作爲對象引用的名稱
- 4. 在Java中使用字符串作爲名稱的對象
- 5. 使用連接字符串作爲JavaScript對象屬性名稱
- 6. 作爲字符串的對象名稱
- 7. C++對象與屬性名稱輸出作爲字符串
- 8. 使用字符串表格和打印部分名稱
- 9. 在VBA中使用字符串作爲對象名稱
- 10. 在Ruby中使用字符串作爲變量/對象名稱
- 11. 與對象和字符串
- 12. 爲對象和程序集使用字符串名稱
- 13. 使用連接的字符串作爲對象名稱創建新對象
- 14. 使用字符串作爲PHP中的對象名稱
- 15. 使用字符串中的名稱修改對象
- 16. 名稱從字符串對象
- 17. 從字符串創建對象名稱
- 18. Ruby對象名稱字符串
- 19. C#自動使用連接字符串中的PC名稱
- 20. 字符串名稱的C++通用對象工廠
- 21. Objective-C中字符串的對象名稱
- 22. 在C#中使用字符串連接的字符串連接
- 23. 連接字符串名稱
- 24. C++使用字符串的一部分
- 25. 在字符串名稱中使用點
- 26. 連接字符串,使PictureBox的名稱
- 27. 名稱字符串的兩個部分作爲使用PowerShell
- 28. 字符串分割和的concat與名稱在MySQL
- 29. 我應該使用字符串來分隔JSON中的對象名稱嗎?
- 30. 在JavaScript中通過字符串名稱引用對象
您需要提供上下文/示例,因爲我不認爲它清楚您擁有什麼以及想要獲得什麼。 – 2014-10-20 11:43:25
你可以使用Linq,但是在底線它會反覆遍歷list /數組的成員。 – Amorphis 2014-10-20 11:46:00