我正在尋找一種方法來通過它已設置的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. 使用連接字符串作爲JavaScript對象屬性名稱
- 4. 作爲字符串的對象名稱
- 5. C++對象與屬性名稱輸出作爲字符串
- 6. 與對象和字符串
- 7. 爲對象和程序集使用字符串名稱
- 8. 使用字符串中的名稱修改對象
- 9. C#自動使用連接字符串中的PC名稱
- 10. 在C#中使用字符串連接的字符串連接
- 11. 從C#中的字符串名稱獲取Class對象#
- 12. Objective-C中字符串的對象名稱
- 13. 連接字符串名稱
- 14. 在字符串名稱中使用點
- 15. 連接字符串,使PictureBox的名稱
- 16. 名稱字符串的兩個部分作爲使用PowerShell
- 17. 字符串分割和的concat與名稱在MySQL
- 18. 在JavaScript中通過字符串名稱引用對象
- 19. Obj-C:創建一個字符串名稱的對象
- 20. 按字符串名稱的目標C對象?
- 21. 使用字符串引用對象名稱
- 22. swift,使用字符串引用對象名稱
- 23. C++和字符串連接分隔符
- 24. 在JavaScript中獲取對象的名稱作爲字符串
- 25. PHP字符串對象名
- 26. 禁止字符串與對象連接
- 27. APP與連接字符串中的應用名稱
- 28. 在C++中部分字符串搜索
- 29. 基於字符串名稱分配對象
- 30. Java ArrayList:使用字符串名稱添加對象
您需要提供上下文/示例,因爲我不認爲它清楚您擁有什麼以及想要獲得什麼。 – 2014-10-20 11:43:25
你可以使用Linq,但是在底線它會反覆遍歷list /數組的成員。 – Amorphis 2014-10-20 11:46:00